繁体   English   中英

如何将字符串转换为json字符串和java中的object

[英]How to convert string to json string and object in java

这是我的字符串

{Line:1,Direction:incoming,LocalUsername:xxx,AuthUsername:31223,PeerUsername:04232000113,Name:04232000113,Server:23424,Connectime:2189msec,Duration:0msec,DiscBy:Remote,Reason:cancelNormalcallclearing}

我想把它转换成 json 字符串

{"Line":"1","Direction":"incoming","LocalUsername":"xxx","AuthUsername":"31223","PeerUsername":"04232000113","Name":"04232000113","Server":"23424","Connectime":"2189msec","Duration":"0msec","DiscBy":"Remote"}

由于它不是嵌套的,只需在:, , 之后以及{之前和}周围添加"

s = s.replaceAll("(?<=[{:,])|(?=[:,}])", "\"");

请参阅regex101.com上的演示。

尝试使用 Gson 库

Gson g = new Gson();
Player p = g.fromJson(jsonString, Player.class)

您还可以使用 toJson() 方法将 Java object 转换为 JSON,如下所示

String str = g.toJson(p);

如果您没有表示数据的 POJO,通常可以使用JsonElement来完成。

演示

String input = "{Line:1,Direction:incoming,LocalUsername:xxx,AuthUsername:31223,PeerUsername:04232000113,Name:04232000113,Server:23424,Connectime:2189msec,Duration:0msec,DiscBy:Remote,Reason:cancelNormalcallclearing}";

Gson g = new Gson();
JsonElement root = g.fromJson(input, JsonElement.class);
String result = g.toJson(root);

System.out.println(result);

Output

{"Line":1,"Direction":"incoming","LocalUsername":"xxx","AuthUsername":31223,"PeerUsername":"04232000113","Name":"04232000113","Server":23424,"Connectime":"2189msec","Duration":"0msec","DiscBy":"Remote","Reason":"cancelNormalcallclearing"}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM