使用JSON.parse在JSON中解析对象内的对象

时间:2013-11-28 19:41:22

标签: javascript jquery json parsing

我正在尝试从JSON中的源检索数据。 我能够检索一些数据,例如“episode_name”& “概述”,但是我遇到了一些数据问题,比如“作家”和“作家”。 “更直接”。

这是我正在使用的代码

   var jsontext = '{"first_aired":"2004-06-06","episode_name":"Let Em Eat Cake","overview":"Blahh Blahh","writers":[{"name":"Jim Vallely"},{"name":"Mitchell Hurwitz"}],"directors":[{"name":"Paul Feig"}],"guest_stars":[{"name":"Ian Roberts"},{"name":"Judy Greer"},{"name":"Stacey Grenrock-Woods"},{"name":"Matt Walsh"},{"name":"Alessandra Toreson"}]}';
    var titles = JSON.parse(jsontext);
    document.write(titles.episode_name);

基本上问题归结为无法在多级基础上检索数据。 我不知道该怎么做。

以下是我在JS Fiddle编辑的示例,以便向我展示。 http://jsfiddle.net/k3V9p/1/

谢谢

2 个答案:

答案 0 :(得分:1)

writers子对象是一个数组,所以你可以像这样访问它的元素和子对象:

titles.writers[0].name

答案 1 :(得分:0)

您可以使用循环

收集作者的姓名
    var jsontext = '{"first_aired":"2004-06-06","episode_name":"Let Em Eat Cake","overview":"Blahh Blahh","writers":[{"name":"Jim Vallely"},{"name":"Mitchell Hurwitz"}],"directors":[{"name":"Paul Feig"}],"guest_stars":[{"name":"Ian Roberts"},{"name":"Judy Greer"},{"name":"Stacey Grenrock-Woods"},{"name":"Matt Walsh"},{"name":"Alessandra Toreson"}]}';
    var titles = JSON.parse(jsontext);
    var names = [];
    $.each(titles.writers, function(i,it){
      names.push(it.name);
    })
    alert(names);

http://jsfiddle.net/k3V9p/2/