在Wordpress中,我使用的Api以一种奇怪的方式返回标签的ID,它以这种方式返回:
"tags":[50,51,54]
我从未见过任何看起来不像“ key”:“ value”的Json,而且我也不知道如何解析它... 希望您能提供帮助,谢谢!
更新: 糟糕的是,我发布的示例不是完整的json,看起来像这样:
{"categories":[2,8],"tags":[50,51,54]}
答案 0 :(得分:0)
您可以为此json字符串创建一个类,并仅用一行代码来解析json,如main方法中所示。
public class Example {
private List<Integer> categories = null;
private List<Integer> tags = null;
public List<Integer> getCategories() {
return categories;
}
public void setCategories(List<Integer> categories) {
this.categories = categories;
}
public List<Integer> getTags() {
return tags;
}
public void setTags(List<Integer> tags) {
this.tags = tags;
}
public static void main(String[] args) {
String str = "{\"categories\":[2,8],\"tags\":[50,51,54]}";
Example example = new Gson().fromJson(str, Example.class);
System.out.println(example.getCategories());
System.out.println(example.getTags());
}
}
您需要为此提供gson库并进行导入,
import com.google.gson.Gson;
希望这对您有用。
答案 1 :(得分:0)
[]表示标签存储为数组。您可以使用JSONObject.getJSONArray()
作为JSONArray对象来访问数组,然后使用.getInt()
来检索值。例如:
String jsonString = "{\"categories\":[2,8],\"tags\":[50,51,54]}";
JSONObject jsonObject = new JSONObject(jsonString);
JSONArray tagsArray = jsonObject.getJSONArray("tags");
// Transfer JSONArray to an int[] array.
int tags[] = new int[tagsArray.length()];
for (int i=0; i<tagsArray.length(); i++) {
tags[i] = tagsArray.getInt(i);
}