Bro*_*aza 17 java string json gson jsonobject
对于一个java数据处理程序,我发送格式正确的JSON,但是Spring,Java的组合决定如何构建它所看到的内容,而框架我真的不应该改变JSON这样的状态,以便一旦我能看到它,就会变成一个LinkedTreeMap,我需要将它转换为一个JsonObject.这不是将JSON序列化/反序列化为java对象,它的"最终形式"是gson JsonObject,它需要能够处理任何有效的JSON.
{
"key":"value",
"object": {
"array":[
"value1",
"please work"
]
}
}
Run Code Online (Sandbox Code Playgroud)
是我一直在使用的样本,一旦我看到它,它是一个LinkedTreeMap,.toString()s到
{key=value, object={array=[value1, please work]}}
Run Code Online (Sandbox Code Playgroud)
你可以用":"替换"=",但是没有内部引号
new JsonParser().parse(gson.toJson(STRING)).getAsJsonObject()
Run Code Online (Sandbox Code Playgroud)
战略.
是否有更直接的方法将LinkedTreeMap转换为JsonObject,或者将库内部引号添加到字符串中,甚至是将sting转换为不需要内部引号的JsonObject的方法?
Sot*_*lis 37
您通常必须将对象序列化为JSON,然后将该JSON解析为JsonObject.幸运的是,Gson提供了toJsonTree一种跳过解析的方法.
LinkedTreeMap<?,?> yourMap = ...;
JsonObject jsonObject = gson.toJsonTree(yourMap).getAsJsonObject();
Run Code Online (Sandbox Code Playgroud)
请注意,如果可以,只需将JSON直接反序列化为JsonObjectwith
gson.fromJson(theJson, JsonObject.class);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14933 次 |
| 最近记录: |