像这样:
{aliSerialNumber=111111, pubmsCode=null, orderNumber=111, orderId=null, queryNo=null, msgId=null, consNo=null, userId=null, instId=null, companyId=null, appId=null, extendMap=null, pageSource=null, aliStatus=null}
转换成这样:
{"aliSerialNumber":"111111" ...}
我可以使用Java中的任何工具吗?
ps:字符串不是println结果,它来自日志: enter image description here
答案 0 :(得分:0)
您可以为此使用Gson。
这是示例测试代码,用于将您的字符串转换为基于JsonObject
的 Gson 并验证转换后的json是否有效。您可以使用以下相对代码。
@Test
public void checkJson() {
String json = "{aliSerialNumber=111111, pubmsCode=null, orderNumber=111, orderId=null, queryNo=null, msgId=null, consNo=null, userId=null, instId=null, companyId=null, appId=null, extendMap=null, pageSource=null, aliStatus=null}";
JsonObject jsonObject = new JsonParser().parse(json).getAsJsonObject();
assertNotNull(jsonObject);
assertEquals(jsonObject.get("aliSerialNumber").getAsInt(),111111);
System.out.print(jsonObject.get("aliSerialNumber"));
}
返回true。
进一步了解gson here
答案 1 :(得分:0)
您可以在不使用任何工具的情况下做到这一点:
[root RefreshView];
结果是这样的(有效的JSON):
String str = "{aliSerialNumber=111111, pubmsCode=null, orderNumber=111, orderId=null, queryNo=null, msgId=null, consNo=null, userId=null, instId=null, companyId=null, appId=null, extendMap=null, pageSource=null, aliStatus=null}";
str = str.replace("{", "");
str = str.replace("}", "");
String[] temp = str.split(",");
String json = "{";
for (String s : temp)
{
String key = s.split("=")[0].trim();
String val = s.split("=")[1].trim();
json += "\"" + key + "\":";
json += "\"" + val + "\", ";
}
json = json.substring(0, json.length() - 2);
json += "}";
System.out.println(json);