从 Java 中的 JSONPATH 获取字符串字段
Getting String Field from JSONPATH in Java
我目前有以下JSON:
{"content":
[{"uuid":"123132",
"firstname" : "Jon",
"lastname" : "Deer"
...
}
]
}
我想做的是使用 Java 来获取 "uuid" 的字符串值。以下是我的代码:
JSONPATH jsonPath = new JSONPATH(json);
String myString = jsonPath.getString("content.uuid");
System.out.println(myString);
结果字符串:[123132]
预期的字符串:123132
是否有另一种方法可以使用 JSONPATH 而不使用子字符串(删除字符串的第一个和最后一个字符)来获得预期结果,因为查看代码有点混乱?
Return jsonPath的值是一个数组,也是一个有效的JSON结构。如果您需要其他类型的数据,例如在这种情况下是一个字符串,你必须自己进行转换以获得你的值#
检查这个 page 示例以及为什么它是 returns 数组。
由于内容是 array
、"content.uuid" returns 字符串列表。然而,当我们调用 getString()
方法时,该列表被转换为字符串(使用 toString()
),因此,我们得到 [123132]
作为结果。
获得第一个值的正确方法是jsonPath.getString("content[0].uuid");
你试过google.simple.Json
罐子吗?这个 Jar 可以很容易地让你轻松地阅读这个 JSONObject。
{
"content":
[{"uuid":"123132",
obj_ComplexJson ==> "firstname" : "Jon",
"lastname" : "Deer"
...
}],[],[],[]
}
JSONObject obj_ComplexJson = "{"content":[{}]}""; //this json object contains your Actual Object.
JSONParser parser = new Parser();
JSONArray obj_arr = (JSONArray)parser.parse(obj_ComplexJson.get("content"));
for(JSONObject eachObj : obj_arr){
System.out.println(eachObj.get("uuid"));
..........
..........
}
Get Maven JSON Simple Maven or Direct Jar File
我目前有以下JSON:
{"content":
[{"uuid":"123132",
"firstname" : "Jon",
"lastname" : "Deer"
...
}
]
}
我想做的是使用 Java 来获取 "uuid" 的字符串值。以下是我的代码:
JSONPATH jsonPath = new JSONPATH(json);
String myString = jsonPath.getString("content.uuid");
System.out.println(myString);
结果字符串:[123132] 预期的字符串:123132
是否有另一种方法可以使用 JSONPATH 而不使用子字符串(删除字符串的第一个和最后一个字符)来获得预期结果,因为查看代码有点混乱?
Return jsonPath的值是一个数组,也是一个有效的JSON结构。如果您需要其他类型的数据,例如在这种情况下是一个字符串,你必须自己进行转换以获得你的值#
检查这个 page 示例以及为什么它是 returns 数组。
由于内容是 array
、"content.uuid" returns 字符串列表。然而,当我们调用 getString()
方法时,该列表被转换为字符串(使用 toString()
),因此,我们得到 [123132]
作为结果。
获得第一个值的正确方法是jsonPath.getString("content[0].uuid");
你试过google.simple.Json
罐子吗?这个 Jar 可以很容易地让你轻松地阅读这个 JSONObject。
{
"content":
[{"uuid":"123132",
obj_ComplexJson ==> "firstname" : "Jon",
"lastname" : "Deer"
...
}],[],[],[]
}
JSONObject obj_ComplexJson = "{"content":[{}]}""; //this json object contains your Actual Object.
JSONParser parser = new Parser();
JSONArray obj_arr = (JSONArray)parser.parse(obj_ComplexJson.get("content"));
for(JSONObject eachObj : obj_arr){
System.out.println(eachObj.get("uuid"));
..........
..........
}
Get Maven JSON Simple Maven or Direct Jar File