Используя Simple-JSON в следующем форматированном файле JSON, у меня возникли проблемы с пониманием того, как обращаться к объектам в массиве под «именем».JSON Parsing Nested Array Objects
JSON файла:
[
{
"name":{
"firstName": "Developer",
"lastName": "D"
},
"id": 00,
"permissionLevel": 3,
"password": 12345
},
{
"name":{
"firstName": "Bob",
"lastName": "Smith"
},
"id": 01,
"permissionLevel": 2,
"password": 23456
}
]
я могу получить информацию обо всех других содержания, потому что они не находятся во вложенном массиве; Однако, когда я пытаюсь восстановить объекты под «name», все, что выводится, это String, найденная в файле JSON.
Текущий код:
String[] searchData = {
"name",
"firstName",
"lastName",
"id",
"permissionLevel",
"password"
};
jsonArray = (JSONArray)new JSONParser().parse(s);
for(int i = 0; i < jsonArray.size(); i++){
JSONObject jo = (JSONObject)jsonArray.get(i);
for(int j = 0; j < searchData.length; j++){
System.out.println(
searchData[j] + ": " + jo.get(searchData[j]));
}
}
Выход:
name: [{"firstName":"Developer","lastName":"D"}]
firstName: null
lastName: null
id: 0
permissionLevel: 3
password: 12345
name: [{"firstName":"Bob","lastName":"Smith"}]
firstName: null
lastName: null
id: 1
permissionLevel: 2
password: 23456
Как вы можете видеть, "имя" выводит строку из файла JSON, а не каждое отдельное значение.
В конце концов, мне нужно написать универсальный код, который может принимать новые теги «searchData» для каждого входного файла.
- Может ли кто-нибудь направить меня, как получить объекты, хранящиеся внутри вложенных массивов?
- Возможно, мне нужна другая библиотека? Если да, то какой из них наиболее эффективен для Java? Я не программирую для Android, и я постоянно нахожу Библиотечные предложения для Android.
Приносим извинения, если это сообщение обмануто, но никакие другие должности не помогают мне.