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. JAVA虚拟机08--垃圾回收--HotSpot的算法实现细节

    1 stop the world 2 减少stop the world的时间-OopMap 3 OopMap数据结构的维护-安全点-安全区域 3.1安全点 3.2在垃圾回收时如何让所有线程到达最近的安 ...

  2. 题解 [SHOI2002] 百事世界杯之旅

    其实做这道题还蛮难受的...因为这个每一次有无限种可能我有钱我可以去买无限瓶可乐啊但是不是可口我不是很赞同┓( ´∀` )┏ 然后参考了这篇题解发现错位相减这样的方法,让我们一起膜拜 Butterfl ...

  3. 流量加密之:MSF流量加密

    流量加密之:MSF流量加密 目录 流量加密之:MSF流量加密 1 背景 2 生成SSL证书 3 使用MSF生成带证书的后门 4 验证流量 1 背景 在MSF中生成shell,并上线运行时.都是通过ht ...

  4. Wpf Border圆角 设置不成功

    //错误的用法 这样子是不会出现圆角的,哪怕你把CornerRadius设置到1000 <Border CornerRadius="3" Width="100&qu ...

  5. 四川九联代工M301H hi3798 mv300 mt7668魔百和 强刷和TTL线刷(救砖)经验分享

    以下都是本次自己操作后的一些经验,不是技术分享,也是看来很多水教程后总结的精华. 四川九联代工M301H hi3798 mv300 mt7668魔百和  一.强刷 1.强刷的教程网上有很多,自己百度. ...

  6. Vue-cli创建的项目结构分析,各初始化文件解释说明

    结构图: 一.项目结构说明  1..gitignore :git的忽略文件(哪些文件或文件夹不想接受git管理的,可在此文件配置) 2.babel.config.js:babel控制文件,ES6=&g ...

  7. orm中多表查询示例

    record = session.query(OrderMain, OrderGoods).join(OrderMain, OrderMain.order_code == OrderGoods.ord ...

  8. MySQL单节点变更为主从节点

    环境说明: 操作系统:CentOS 7.6 数据库版本:5.7 为了实验方便,同一台主机部署了两个实例,3306.3307 部署方案可参考 MySQL多实例部署:mysql多实例部署 - 太阳的阳ฅ ...

  9. aop切面记日志

    package com.netauth.utils.component; import java.lang.annotation.ElementType; import java.lang.annot ...

  10. kvm 透传显卡至win10虚拟机

    环境 已安装nvidia 显卡 驱动 操作系统:CentOS Linux release 7.9.2009 (Core) 内核版本:Linux 5.4.135-1.el7.elrepo.x86_64 ...