Есть массив JSON-объектов, которые я не могу запарсить, объектов 20 штук, у всех 3 одинаковых поля. Банально не могу найти методы парсинга массива json-объектов, кусок массива прилагается
Если у вас JSON хранится как строка то вот один из вариантов:
import org.json.JSONArray;
try {
JSONArray array = new JSONArray("[{a:1},{a:2}]");
for(int i = 0; i < array.length(); i++) {
int a = array.getJSONObject(i).getInt("a");
System.out.println(a);
}
} catch (Exception ex) {
ex.printStackTrace();
}
Если JSON хранится в папке ресурсов, например RAW или Assets, то я обычно делаю так.
1 Вам нужно сгенерить POJO для вашего массива. 2 Я себе сделал такой класс JsonReader
MyJSONReader {
public String readJsonDataFromFile(InputStream inputStream) throws IOException {
StringBuilder builder = new StringBuilder();
try {
String jsonDataString = null;
BufferedReader bufferedReader = new BufferedReader
(new InputStreamReader(inputStream, "UTF-8"));
while ((jsonDataString = bufferedReader.readLine()) != null) {
builder.append(jsonDataString);
}
} finally {
if (inputStream != null) {
inputStream.close();
}
}
return new String(builder);
}
}
в него я закидываю массив где нужно и раскидываю его в адаптер RecyclerView
/
Выглядит это так:
private void createlListFromJson(){
try {
MyJSONReader myJsonReader = new MyJSONReader();
InputStream inputStream = getResources().openRawResource(R.raw.myJsonFile);
String jsonString = myJsonReader.readJsonDataFromFile(inputStream);
JSONArray JsonArray = new JSONArray(jsonString);
for (int i = 0; i < JsonArray.length(); ++i) {
JSONObject ItemObject = JsonArray.getJSONObject(i);
String title = ItemObject.getString("title");
String author = ItemObject.getString("author ");
ItemList itemList= new ItemList (title, author);
List.add(itemList);
}
} catch (IOException | JSONException exception) {
exception.printStackTrace();
}
}
Во фрагмента:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
createlListFromJson();
}
public View onCreateView.....
recyclerView.setHasFixedSize(true);
Adapter mAdapter = new Adapter(List);
recyclerView.setAdapter(mAdapter);
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Подключаюсь к базе MySQL из кода на Java через JDBCПри выполнении запроса:
Можете пожалуйста пример какой подсказать для реализации post метода в контролере springПо условию контроллер, принимает на вход XML с параметрами