通过Ajax从JSON中提取不同的数据字符串

时间:2017-06-29 14:57:37

标签: javascript jquery json ajax

我的客户有一个工作板,我的API数据是通过Ajax提取的。我可以解析"工作"数据但似乎无法拉动任何其他东西。例如,这可以将作业列表的名称拉到选择框:

$.ajax({
    url:'https://api.greenhouse.io/v1/boards/roivantsciences/jobs/',
    type:'GET',
    data: 'q=' + "",
    dataType: 'json',
    success: function( json ) {
        $.each(json.jobs, function(i, value) {
            $('#myselect').append($('<option>').text(value.title).attr('value', value.title));
        });
    }
});

但是当我改变&#34; json.jobs&#34;其他任何像&#34; json.offices&#34;或者&#34; json.locations&#34;什么都没拉。如何准确定位这些数据字符串以便一起完成一个完整的职业页面?感谢任何指导,谢谢。

如果您需要查看,这是JSON:

https://api.greenhouse.io/v1/boards/roivantsciences/jobs/

2 个答案:

答案 0 :(得分:1)

尝试拉取所有作业的$.each(json.jobs, function(i, value) { $('#myselect').append($('<option>').text(value.location.name).att‌​r('value', value.location.name)); });

的location.name

答案 1 :(得分:0)

我做了一个小测试:

$.ajax({
url:'https://api.greenhouse.io/v1/boards/roivantsciences/jobs/',
type:'GET',
data: 'q=' + "",
dataType: 'json',
success: function( json ) {
   console.log(json)
}

});

我从控制台得到的是你的json对象只有&#39;工作&#39;作为其中的顶级属性。

你必须像这样去获取位置:

 $.each(json.jobs, function(i, value) {
        console.log(value.location);
    });

然后你有了位置对象,你得到了属性&#39; name&#39;

所以你可以用value.location.name

获取名字