{
"name1": [
"value1"
],
"name2": [
"value1",
"value2",
"value3",
"value4",
"value5",
],
"name3": [
"value1"
]
}
JSON的新手。请帮我在这个文件中读取这个名字和值
答案 0 :(得分:-1)
您需要提供每个数组的键,例如name1
,name2
,name3
等。因此最好为名称设置限制,例如10.以下代码将解析你期望的json文件
HashMap<String, ArrayList<String>> map=new HashMap<>();
int TOTAL_NAMES=10;
try {
JSONObject jsonObject=new JSONObject(json);
for(int k=0; k<TOTAL_NAMES-1; k++) {
String name="name"+k;
JSONArray jsonValueArray1 = jsonObject.getJSONArray(name);
ArrayList<String> valueList=new ArrayList<>();
for (int i = 0; i < jsonValueArray1.length(); i++) {
valueList.add(jsonValueArray1.getString(i));
}
map.put(name, valueList);
}
} catch (JSONException e) {
e.printStackTrace();
}