我在Java字符串中存储了以下json代码:
String str = {"posts":[{"key":"key1","value":"x"},{"key":"key2","value":"0"},{"key":"key3","value":"y"}]}
是否有一种方法可以使用JSONObject
从字符串中提取值,还是应该使用旧的方法:
String[] parts = str.split("\"");
在我的情况下,值存储在数组中的位置parts[9]
,parts[17]
和parts[25]
中。
到目前为止,它运行良好,但是我想知道是否可以使用JSONObject
完成该任务?
答案 0 :(得分:0)
答案 1 :(得分:0)
使用JSONObject
(来自org.json
包,JSON-java),您可以轻松提取值。
final JSONObject jsonObject = new JSONObject(str);
final JSONArray posts = jsonObject.getJSONArray("posts");
final Collection<String> values = new ArrayList<>(posts.length());
for (int i = 0; i < posts.length(); i++) {
final JSONObject post = posts.getJSONObject(i);
values.add(post.getString("value"));
}
// values = [x, 0, y]
我会绝对避免任何形式的手动String
操作。