разобрать строку json - PullRequest
       7

разобрать строку json

6 голосов
/ 21 февраля 2011

У меня есть следующая строка Json

{ "Users" : [ 
    { "Name" : "user99",
      "Value" : "test"
    },
    { "Name" : "test2",
      "Value" : "test"
    }
 ] 
}

Я пытаюсь разобрать ее и распечатать каждое имя и значение - какой самый простой способ сделать это?Я пытался jQuery.parseJSON, но я не знаю, как его использовать, я думаю,

Пример кода будет здорово

Ответы [ 5 ]

12 голосов
/ 21 февраля 2011
var json = '{"Users":[{"Name":"user999","Value":"test"},{"Name":"test2","Value":"test"}]}';

var json_parsed = $.parseJSON(json);

for (var u = 0; u < json_parsed.Users.length; u++){
    var user = json_parsed.Users[u];
    $('body').append($('<p>').html('User: '+user.Name+'<br />Value: '+user.Value));
}

Результат:

<p>User: user999<br />Value: test</p>
<p>User: test2<br />Value: test</p>

jsFiddle Пример: http://jsfiddle.net/bradchristie/XtzjZ/1/

2 голосов
/ 21 марта 2013
<script>
var str = '{"Users":[{"Name":"user999","Value":"test"},{"Name":"test2","Value":"test"}]}';
str = eval('('+str+')');
alert(str.Users[0].Name);

//var str = '{"x":{"a":"1"}}';
//alert(str.x.a);
</script>
2 голосов
/ 21 февраля 2011

Вы можете использовать jQuery.parseJSON, вот пример:

var jsonString = '{"key":"value","otherkey":"othervalue"}';
data = $.parseJSON(jsonString);
alert(data.key); // Shows: value
2 голосов
/ 21 февраля 2011

У вас действительно есть массив объектов, поэтому ..

var obj = $.parseJSON(string);

var users = obj.users;    

for x in users {
    alert(users[x].Name);
    alert(users[x].Value);
}
0 голосов
/ 21 февраля 2011

Для указанного вами JSON $.parseJSON должен возвращать объект myObj, к которому можно получить доступ следующим образом:

var users = myObj.Users,
    user0_name = users[0].Name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...