2013-09-19 5 views
0
[ 
    [ 
    { 
     "Id": 1234, 
     "PersonId": 1, 
     "Message": "hiii", 
     "Image": "5_201309091104109.jpg", 
     "Likes": 7, 
     "Status": 1, 
     "OtherId": 3, 
     "Friends": 0 
    } 
    ], 
    [ 
    { 
     "Id": 201309091100159, 
     "PersonId": 1, 
     "Message": "heyyyyyyyy", 
     "Image": "", 
     "Likes": 2, 
     "Status": 1, 
     "OtherId": 3, 
     "Friends": 3 
    } 
    ] 
] 

Я пытаюсь разобрать этот JSON данные в JavaScript, но его дает ошибку «SyntaxError: JSON.parse: неожиданный характер» Скажи мне, как разобрать или получить доступ к этой JSON данные и как получить количество записей, сохраненных в данных JSON.ошибка при разборе данных JSON в JavaScript

Я бегу это на Firefox ..Please помочь мне решить эту problem.thanks заранее

+1

JSON является действительным (даже при том, что структура является немного странным). Может быть, вы пытаетесь разобрать то, что не является JSON. Отправьте свой код. –

+0

Это не JSON. ИТ-объекты просто объектно-литературные. Отправьте свой JSON, который является строкой. –

+4

@ shiplu.mokadd.im: Это JSON. Конечно, в JavaScript (или Python, Java, <вставить здесь язык)) JSON может существовать только в строке, но JSON - это формат данных, не зависящий от языка. Вы можете говорить только об объектных литералах в исходном коде JavaScript, но «код», размещенный здесь, не JavaScript. –

ответ

2

Если переменная тзд уже Javascript литерал объекта вы можете получить доступ к свойствам в ней непосредственно, как вы сказали: сообщ [0] [0] .id

Если это строка, которую вы можете использовать JSON.parse (функция), чтобы получить объект JS: Parse JSON in JavaScript?

Фидл: http://jsfiddle.net/nilgundag/EdWKv/1/

var msg1 = [ 
    [ 
    { 
     "Id": 1234, 
     "PersonId": 1, 
     "Message": "hiii", 
     "Image": "5_201309091104109.jpg", 
     "Likes": 7, 
     "Status": 1, 
     "OtherId": 3, 
     "Friends": 0 
    } 
    ], 
    [ 
    { 
     "Id": 201309091100159, 
     "PersonId": 1, 
     "Message": "heyyyyyyyy", 
     "Image": "", 
     "Likes": 2, 
     "Status": 1, 
     "OtherId": 3, 
     "Friends": 3 
    } 
    ] 
]; 
$("#first").text(msg1[0][0].Id); 

var myJSONString = '[[{"Id": 1234,"PersonId": 1,"Message": "hiii","Image": "5_201309091104109.jpg","Likes": 7, "Status": 1,  "OtherId": 3,  "Friends": 0 } ], [ {  "Id": 201309091100159,  "PersonId": 1,  "Message": "heyyyyyyyy",  "Image": "",  "Likes": 2,  "Status": 1,  "OtherId": 3,  "Friends": 3 } ]]'; 
var msg2 = JSON.parse(myJSONString); 
$("#second").text(msg2[0][0].Id); 
+0

Спасибо за ур ответ, теперь его работа. Я просто подсчитываю длину чисел записей, возвращаемых в JSON, используя count = msg.length; и доступ ко всему элементу в цикле для (var i = 0; i Ravi

0

Я думал, что это ул JSON valid.but, когда эта строка не в формате JS enviroment..that в является недействительным.

+2

http: // jsonlint .com/проверяет его. – nilgun

+1

Это действительно JSON, это не имеет значения, в какой среде оно есть. –

Смежные вопросы