java-json字符串转对象、数组对象字符串转对象(alibaba的fastjson)
java中,json字符串和jsonobject,数组字符串和数组object之间的转换
·
java-json字符串转对象、数组对象字符串转对象(alibaba的fastjson)
导入pom依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.75</version>
</dependency>
样例数据
{}代表可以转换成jsonobject
[]先要转换成数组,每一条再转成jsonobject
{
"code": 0,
"message": "",
"result": {
"items": [
{
"name": "zhagnsan",
},
{
"name": "zhagnsan1",
}
]
}
json字符串对象转json对象
com.alibaba.fastjson.JSONObject itemObject = JSON.parseObject("{xxx..}");
获取一个字段
itemObject.get("name")
另外一种方法
//cc代表的是json字符串,如果要取上面的items
JSONObject jsonob = JSON.parseObject(cc);
JSONObject datastr = (JSONObject)jsonob.get("result");
System.out.println(datastr.get("items"));
数组字符串转数组对象
先转数组
JSONArray taskArray = JSON.parseArray("[{xxx..},{xxx..}]");
获取一条记录转换成jsonobject
com.alibaba.fastjson.JSONObject itemObject = JSON.parseObject(taskArray.get(1).toString());
也可以直接获取name
resultArray.getJSONObject(1).get("name")
获取一个字段
itemObject.get("name")
完整代码
static String path = "D:\\OneboxBackup\\kedd\\keDD1\\src\\main\\resources\\txt\\cc.txt";
private static String read() {
String content = "";
try {
content = new String(Files.readAllBytes(Paths.get(path)));
return content;
} catch (IOException e) {
e.printStackTrace();
}
return content;
}
private static void getItemObject() {
JSONObject obj = new JSONObject(read());
JSONObject resultObj = (JSONObject) obj.get("result");
JSONArray taskArray = JSON.parseArray(resultObj.get("items").toString());
for (int i=0;i<taskArray.size();i++){
if(i>10){return;}
com.alibaba.fastjson.JSONObject itemObject = JSON.parseObject(taskArray.get(i).toString());
System.out.println(itemObject.get("L1Assignee"));
}
}
public static void main(String[] args) {
getItemObject();
}
输出:
zhangsan
zhangsan1
更多推荐
所有评论(0)