#javascript #json
#javascript #json
Вопрос:
У меня есть код javascript и объекты в нем, мне нужно собрать эти объекты и сериализовать их в массив. Я использую такую функцию:
function getData () {
var objects = [];
for (var i in this) {
if (this[i] instanceof Object)
if (this[i].isShow())
objects.push(JSON.stringify(this[i]));
}
JSInterface.setLocationsData(locations);
}
Затем мне нужно разобрать это на Java. Я получаю следующее:
{"title":"sample1", value:1}, {"title":"sample2", value:2}
Как мне его разобрать? Это не JSONArray, поэтому я добавил:
JSInterface.setLocationsData("[" locations "]");
Есть какое-нибудь лучшее решение?
Комментарии:
1. Это недопустимый JSON. Помимо этого, вы бы использовали анализатор JSON на Java, которых существует множество. Простой поиск в Google по «Java JSON» укажет вам правильное направление.
2. Я использую org.json. Вопрос заключался в том, как сделать JSON допустимым.
3. Тогда я бы предложил переписать ваш вопрос, отметив, что проблема в том, что вы не знаете, как создать действительный JSON, и удалить из него все, что связано с Java.
Ответ №1:
Поместите stringify в последнюю строку:
function getData () {
var objects = [];
for (var i in this) {
if (this[i] instanceof Object)
if (this[i].isShow())
objects.push(this[i]);
}
JSInterface.setLocationsData(JSON.stringify(objects));
}