转换JSON代码的最佳方式是什么:
{
"data" :
{
"field1" : "value1",
"field2" : "value2"
}
}
在Java Map中,键是(field1,field2),这些字段的值是(value1,value2)。
有什么想法吗?我应该使用Json-lib吗?或者如果我编写自己的解析器会更好?
发布于 2009-02-24 21:11:57
我希望你是在开玩笑说要写你自己的解析器。:-)
对于这样一个简单的映射,http://json.org (java小节)中的大多数工具都可以工作。对于其中一个(Jackson https://github.com/FasterXML/jackson-databind/#5-minute-tutorial-streaming-parser-generator),你会这样做:
Map<String,Object> result =
new ObjectMapper().readValue(JSON_SOURCE, HashMap.class);
(其中JSON_SOURCE是文件、输入流、阅读器或json内容字符串)
发布于 2011-11-15 14:25:49
使用GSON库:
import com.google.gson.Gson;
import com.google.common.reflect.TypeToken;
import java.lang.reclect.Type;
使用以下代码:
Type mapType = new TypeToken<Map<String, Map>>(){}.getType();
Map<String, String[]> son = new Gson().fromJson(easyString, mapType);
发布于 2011-12-01 18:15:31
我喜欢google gson库。
当你不知道json的结构时。您可以使用
JsonElement root = new JsonParser().parse(jsonString);
然后你就可以使用json了。例如,如何从你的gson中获取"value1“:
String value1 = root.getAsJsonObject().get("data").getAsJsonObject().get("field1").getAsString();
https://stackoverflow.com/questions/443499
复制相似问题