Обработка json
Здравствуйте, пишу скрипт для приложение в vk.com, так вот нужно обработать ответ который приходит в формате json, но проблема вот в чем если название объекта состоит из цифр(ы) то весь скрипт не работает
var oAuto = JSON.parse(text); oAuto.player.name // вот это работает нормально oAuto.player.territories.0.battlefields.0.static_r esources.battlefield_complete // а вот это не работает, даже сам скрипт не работает Посоветуйте, что нужно сделать, кроме как обработку через php) |
Цитата:
oAuto.player.territories[0].battlefields[0].static_r esources.battlefield_complete или так oAuto.player.territories['0'].battlefields['0'].static_r esources.battlefield_complete |
Цитата:
|
Должно работать. Вы вручную чтоль json на сервере формируете? Юзайте на сервере json_encode.
Также возможно дело в авто_пробеле поставленном форумом и бездумном копировании. |
Ctrl+Shift+I Opera или F12 в Хроме, выбираешь консоль, вбиваешь
console.log(oAuto); смотришь что у тя там лежит/ |
может там массив-тогда по другому надо-приведи пример json если не сильно большой
|
Цитата:
|
Цитата:
"territories":{"0":{"battlefields":{"1":{"static_resources":{"battlefield_complete":2},"chosen_tactics":{"2":"0"}}}}} |
Цитата:
[0.004] Real time offset: 0, minDt: 0, final time offset: 0 common.js:306 [0.176] dom started common.js:306 env: ERROR: Syntax error @ 'V okope script'! Unexpected number SyntaxError: Unexpected number at Window.Function (<anonymous>) at L (eval at <anonymous> (eval at <anonymous> (chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/content.js:53:21)), <anonymous>:158:21) at n (eval at <anonymous> (eval at <anonymous> (chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/content.js:53:21)), <anonymous>:392:2) at R (eval at <anonymous> (eval at <anonymous> (chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/content.js:53:21)), <anonymous>:396:86) at Q (eval at <anonymous> (eval at <anonymous> (chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/content.js:53:21)), <anonymous>:196:40) Uncaught SyntaxError: Unexpected number Tampermonkey started env: ERROR: Syntax error @ 'V okope script'! Unexpected number SyntaxError: Unexpected number at Window.Function (<anonymous>) at L (eval at <anonymous> (eval at <anonymous> (chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/content.js:53:21)), <anonymous>:158:21) at n (eval at <anonymous> (eval at <anonymous> (chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/content.js:53:21)), <anonymous>:392:2) at R (eval at <anonymous> (eval at <anonymous> (chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/content.js:53:21)), <anonymous>:396:86) at Q (eval at <anonymous> (eval at <anonymous> (chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/content.js:53:21)), <anonymous>:196:40) Uncaught SyntaxError: Unexpected number notifier.php:168 [10.167] sending from ls.. |
Во-первых не хаватет крайних скобок:
{"territories":{"0":{"battlefields":{"1":{"static_resources":{"battlefield_complete":2},"chosen_tactics":{"2":"0"}}}}}}во-вторых где вы здесь видите "player" и battlefields[0]? oAuto = { "territories": { "0": { "battlefields": { "1": { "static_resources": { "battlefield_complete":2 }, "chosen_tactics":{ "2":"0" } } } } } } alert( oAuto.territories[0].battlefields[1].static_resources.battlefield_complete ) |
Часовой пояс GMT +3, время: 23:28. |