2013-04-02 4 views
0

Я stringyfing объект как:Как я могу получить значение внутреннего массива json?

"{'foo': 'bar','task':[{'task1':'task1'}]}" 

Как я могу включить строку обратно в объект?

+0

'java' и' jsonp' в основном не имеют отношения друг к другу. Вы имели в виду 'javascript'? –

+0

разобрать 'JSON'. Как вы конвертируете свой объект в 'JSON'? – SudoRahul

+1

['JSON.parse'] (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/JSON/parse) – Christoph

ответ

2

Попробуйте следующее решение для синтаксического анализа JSONObject.

// Stringified JSON Object 
var stringifiedJSONObject = '{'foo': 'bar','task':[{'task1':'task1'}]}'; 

// Parsing string object to json 
var jsonObject = JSON.parse(stringifiedJSONObject); 

// Get the inner array. The below object is a JSON Array of Objects 
var innerArray = jsonObject.task; 

// displays the value of task1 
alert(innerArray[0].task1); 
+0

'var innerJsonArray = jsonObject.task;' не выполняет синтаксический анализ вообще. Кроме того, объект не является массивом JSON, это простой массив javascript, который (как удивительно!) Имеет одну и ту же нотацию, такую ​​как * * * * * * * * * * * * * * * * * * массив отложений * * * * * – Christoph

+0

@Christoph Well Я попытался дать общее решение, а массив JSON также в конечном итоге представляет собой массив JavaScript. И взгляните, что он также хочет проанализировать другой массив JsonObject внутри jsonobject, который содержит JSONArray. –

+0

Вы что-то путаете здесь. JSON - это формат передачи данных, который использует буквенное обозначение Javascript. Он полностью независим и не имеет ничего общего с javascript. Вы можете использовать JSON на любом языке, который вам нравится. После того, как вы разобрали JSON-String с javascript, у вас есть объект Javascript. Шаг синтаксического анализа выполняется только один раз. После этого вы можете получить доступ к объекту и всем его свойствам, как обычно, в javascript. Кроме того, с сильно вложенным JSON больше не требуется синтаксический анализ, после того как он разобран, у вас есть эквивалентный объект javascript. – Christoph