[英]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.