Вы должны бежать двойные кавычки с обратными косыми чертами, как показано ниже:
String message = "{ \"animal\" : [{\"name\":\"alice\", \"type\":\"cat\"}, {\"name\":\"john\", \"type\":\"dog\"}, {\"name\":\"peter\", \"type\":\"bird\"} ] }";
Eclipse, имеет опцию "побег текста, когда Pasti ng в строковый литерал "(Preferences->Java->Editor->Typing
), что многострочный текст с копией вставки в строковые литералы приведет к цитированию новых строк. Обратите внимание: после включения этой функции вам все равно придется сначала написать две кавычки, а затем вставить текст внутри этих меток.
Добавление образцов кода для синтаксического разбора данных JSON.
package com.stackoverflow.answer;
import org.json.JSONArray;
import org.json.JSONObject;
public class JsonParserExample {
public static void main(String[] args) {
String message = "{ \"animal\" : [{\"name\":\"alice\", \"type\":\"cat\"}, {\"name\":\"john\", \"type\":\"dog\"}, {\"name\":\"peter\", \"type\":\"bird\"} ] }";
JSONObject messageJson = new JSONObject(message);
JSONArray animals = messageJson.getJSONArray("animal");
int n = animals.length();
for (int i = 0; i < n; ++i) {
JSONObject animal = animals.getJSONObject(i);
System.out.println(String.format("animal.%d.name: %s", i, animal.getString("name")));
System.out.println(String.format("animal.%d.type: %s", i, animal.getString("type")));
}
}
}
Надеюсь, теперь вы поняли. Слишком поздно. Я иду спать. Счастливое кодирование !!!
Ваш вопрос из заголовка (* Как мне инициализировать массив с некоторыми объектами в нем? *), А вопрос в теле выглядит другим (* Как его разрешить *), если вы хотите разрешить ошибку Eclipse, попробуйте это - 'String message =" {\ "animal \": [{\ "name \": \ "alice \", \ "type \": \ "cat \"}, {\ "name \": \ "john \ ", \" type \ ": \" dog \ "}, {\" name \ ": \" peter \ ", \" type \ ": \" bird \ "}]}"; ' – hagrawal