我有一个JSON字符串,它位于一个独立的Java项目中:
{"MsgType":"AB","TID":"1","ItemID":"34532136","TransactTime":1389260033223}
我想从MsgType
AB
哪种方法最好?
答案 0 :(得分:3)
我在android下使用JSONObject但是从Oracle docs我看到它也可以在javax.json包下使用:
http://docs.oracle.com/javaee/7/api/javax/json/package-summary.html
如果您想要Gson,那么您的代码应该如下所示(抱歉没有编译/测试):
/*
{"MsgType":"AB","TID":"1","ItemID":"34532136","TransactTime":1389260033223}
*/
Gson gson = new Gson();
static class Data{
String MsgType;
String TID;
String ItemID;
int TransactTime;
}
Data data = gson.fromJson(yourJsonString, Data.class);
答案 1 :(得分:3)
您可以使用Gson库。
String json="{MsgType:AB,TID:1,ItemID:34532136,TransactTime:1389260033223}";
Map jsonJavaRootObject = new Gson().fromJson(json, Map.class);
System.out.println(jsonJavaRootObject.get("MsgType"));
其中jsonJavaRootObject将包含像这样的键值的映射
{MsgType=AB, TID=1.0, ItemID=3.4532136E7, TransactTime=1.389260033223E12}
答案 2 :(得分:2)
我有json-simple的例子:
JSONParser parser = new JSONParser();
JSONObject jsonObject = (JSONObject) parser.parse(yourString);
String msgType = (String) jsonObject.get("MsgType");
检查this link以获取完整示例。
答案 3 :(得分:1)
解析简单的JSON使用JsonPath
JsonPath是JSON XPATH对XML的一种提取,是一种提取给定文档部分的简单方法。
String json = "{\"MsgType\":\"AB\",\"TID\":\"1\",\"ItemID\":\"34532136\",\"TransactTime\":1389260033223}";
String author = JsonPath.read(json, "$.MsgType");
System.out.println(author);
AB
'com.jayway.jsonpath:json-path:0.9.1'