我有一个类似
的json文件{“44451”:[“67”,“188”,“188E”,“188R”,“982E”,“301”]}
如何读取“44451
”中的字符串并将其显示在android studio的StringBuilder
中?
帮助将不胜感激。谢谢。
答案 0 :(得分:1)
JSONObject json = new JSONObject(jsonString);
JSONArray jArray = json.getJSONArray("44451");
StringBuilder sb;
for(int i=0; i<jArray.length(); i++){
sb.append(jArray.getJSONObject(i).toString());
}
答案 1 :(得分:1)
不要真正理解StringBuilder方面,但是如果你想从JSON中读取整个文本,那么你可以这样做。
整个文本是一个对象因为它被{ }
包围,所以您有一个键44451
分配给数组["67",...]
。
要阅读此内容,您将首先阅读该对象,然后阅读该数组的内容。
JSONObject object = new JSONObject('');
JSONArray array = object.getJSONArray("44451");
for (int i = 0; i < array.length(); i++) {
String value = array[i];
// other opetations as desired..
}
答案 2 :(得分:0)
我建议使用FasterXML Jackson库,因为您可以将JSON解析为任意用户定义的类型。你可以像这样添加一个gradle依赖
compile 'com.fasterxml.jackson.core:jackson-databind:2.6.2'
compile 'com.fasterxml.jackson.core:jackson-core:2.6.2'
然后你可以这样解析你的JSON。
String json = "{ \"44451\":[\"67\",\"188\",\"188E\",\"188R\",\"982E\",\"301\"]}";
ObjectMapper mapper = new ObjectMapper();
Map<String, List<String>> values = mapper.readValue(json, new TypeReference<Map<String, List<String>>>() {
});
StringBuilder str = new StringBuilder();
for (String value : values.get("44451")) {
// do whatever you want
}