package com.example.mybatiscodehelper.demo;

import org.springframework.boot.configurationprocessor.json.JSONObject;

import java.io.*;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;

/**
* @Author huangyanchang
* @Date 2022/9/8 22:29
*
* 用于将idNO=xxxx, userName=廖x文, cardNO=xxxxx, mobilePhone=xxxx, payChannelCode=ybp_1
* 成{"idNO":"xxxx","userName":"廖x文","cardNO":"xxxxx","mobilePhone":"xxxx","payChannelCode":"ybp_1"}
*
* @Version 1.0
*/
public class SpringConvertMap {

/**
* 用于将idNO=xxxx, userName=廖x文, cardNO=xxxxx, mobilePhone=xxxx, payChannelCode=ybp_1
* 转成{"idNO":"xxxx","userName":"廖x文","cardNO":"xxxxx","mobilePhone":"xxxx","payChannelCode":"ybp_1"}
* */
public static void main(String[] args) {
String str = "UserTest(id=1, name=hy)";
int i = str.indexOf("(");
char c = str.charAt(i);
String substring = str.substring(i + 1, str.lastIndexOf(")"));
System.out.println("subString: " + substring);
String lineTxt = readFile();
Map map = StringConvertMap(lineTxt);
System.out.println(new JSONObject(map));
System.out.println(substring);
}

private static String readFile() {
String lineTxt = "";
String str = "";
File file = new File("D:\\work\\demo\\src\\main\\resources\\log.txt");
if (file != null) {
try (InputStreamReader reader = new InputStreamReader(new FileInputStream(file), "utf-8")){
BufferedReader bufferedReader = new BufferedReader(reader);
if (file.isFile() && file.exists()) {
while ((lineTxt = bufferedReader.readLine()) != null) {
System.out.println("lineTex: " + lineTxt);
str = lineTxt;
}
} else {
System.out.println("读取文件出错!!");
}
} catch (IOException e) {
e.printStackTrace();
}
}
return str;
}

private static Map StringConvertMap(String toString) {
HashMap<Object, Object> map = new LinkedHashMap<>();
if (toString.contains("(") && toString.contains(")")) {
toString = toString.replace("(", "{");
toString = toString.replace(")", "}");
}
toString.trim();
String[] split = toString.split(",");
for (int i = 0; i < split.length; i++) {
String[] split1 = split[i].split("=");
map.put(split1[0], split1[1]);
}
return map;
}
}

对象有时候打印出来的日志可能是以map的格式存在,转成json格式的更多相关文章

  1. 把普通对象转换成json格式的对象

    1.什么叫做JSON?JSON只是一种数据格式(它不是一种新的数据类型) var obj = {name: "中国", age: 5000};//->普通格式的对象 var ...

  2. JavaScript中,JSON格式的字符串与JSON格式的对象相互转化

    前言:JSON是一个独立于任何语言的数据格式,因此,严格来说,没有“JSON对象”和“JSON字符串”这个说法(然而”菜鸟教程“和”W3school“使用了“JSON对象”和“JSON字符串”这个说法 ...

  3. Nginx 日志改成 JSON 格式

    Nginx 日志默认为普通文本的格式,例如,下面是 Nginx 的一行访问日志: 10.88.122.105 - - [02/Dec/2017:09:15:04 +0800] "GET /j ...

  4. Gson把对象转成json格式的字符串

    近期在做一个java web service项目,须要用到jason,本人对java不是特别精通,于是開始搜索一些java平台的json类库. 发现了google的gson.由于之前对于protoco ...

  5. 自定义EL表达式,将对象转成json格式,关键代码

    做javaweb开发的最常用的一个东西el表达式,这个东西是个很好用的东西,但有些时候我们处理复杂的字符串操作,就有些相形见绌了,这个时候就需要用自定义的方法去实现更多简洁方便的事情. 下面自定义一个 ...

  6. spring-boot-framework 如何自动将对象返回成json格式

    使用srping-rest-mvc 的时候只要在工程的classpath中包含jackson的2.x版本,就可以不用自己做json格式的转换了. 如在你的pom文件中加入以下的依赖: <depe ...

  7. Js数据类型、Json格式、Json对象、Json字符串

    数据类型,从结构上看,所有的数据最终都可以分成三种类型: 第一种类型是scalar(标量),也就是一个单独的string(字符串)或数字(numbers),比如“北京”这个单独的词. 第二种类型是se ...

  8. 使用C#中JavaScriptSerializer类将对象转换为Json格式数据

    将对象转换为json格式字符串: private JavaScriptSerializer serializer = new JavaScriptSerializer(); protected voi ...

  9. Excel 文件转 JSON格式对象

    将导入的如图所示格式的城乡区划代码的excel文件整理成json格式的对象储存在js文件中: var PROJECTDISTRICTDATA=[    {        "name" ...

  10. DataTabel DataSet 对象 转换成json

    public class DataTableConvertJson    { #region dataTable转换成Json格式        /// <summary>         ...

随机推荐

  1. 聊聊火热的 ChatGPT(我帮大伙问了几个比较关心的问题)

    如需要转载,请声明原文链接微信公众号「ENG八戒」https://mp.weixin.qq.com/s/L9tZy_KWnE1kf0E3HNhJhQ 本文大概 2562 个字,阅读需花 15 分钟 内 ...

  2. Hugging Face 每周速递: 扩散模型课程完成中文翻译,有个据说可以教 ChatGPT 看图的模型开源了

    每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...

  3. mysql怎么设计库、设计表

    一. 设计表/库 设计思想就是要分析表每个字段的具体参数,包括但不限于以下几点: 约束? NOT NULL, PRIMARY KEY, UNIQUE KEY, DEFAULT, FOREIGN KEY ...

  4. Blue Mary开公司

    Blue Mary开公司 题面:[JSOI2008]Blue Mary开公司 题目大意: 每次加入一条形如 \(y=Px + S - P\) 的直线,询问 \(x=T\) 时此处最高的 \(y\) 值 ...

  5. 梅毒感染者能否应用TNF抑制剂

    对于伴发的未经控制的任何严重感染,都不适合使用TNF抑制剂.在1998年国际上首个TNF抑制剂获批治疗类风湿关节炎(RA)以来,这就是广大临床医生和风湿性疾病患者的共识.在临床实践中,需要权衡药物的利 ...

  6. Prettier 在 Vite 项目下格式化报错

    Prettier 配置文件有很多种格式,有.json..js..yml等.因为 Vite 默认项目用的模块机制是 ES6,我的配置文件又正好是.js,且用的模块机制是 CommonJS.所以就是如上图 ...

  7. 简述traceroute命令的原理

    原理 traceroute命令是一种用于显示数据包从源主机到目的主机经过的路由器和网络设备的路径的工具.traceroute命令的原理是利用IP数据报的生存时间(TTL)字段和因特网控制报文协议(IC ...

  8. appsettings.json用机密替换字符串-利用 VisualStudio 管理用户机密

    以纯文本形式存储密码是不安全的. 例如,存储在中的数据库连接字符串 appsettings.json 可能包含指定用户的 密码: { "ConnectionStrings": { ...

  9. 96、nacos大量日志

    问题描述:access 日志大量打印,相关 Issue 点击这里.主要表现是: {nacos.home}/logs/access_log.2019-xx-xx.log类似格式文件名的日志大量打印,而且 ...

  10. 15.网关Gateway

    创建网关的Module 使用注册中心和配置中心 详细可以参考另两篇篇博客-注册中心和配置中心 报错 编译报了这个错,原因是我们没有给网关配置数据库连接字符串,但是引用了common,common中有m ...