试图访问对象内部的嵌套json对象
我已经做了几个小时了,我快不知所措了 我试图访问的数据可以被解析,也可以被字符串化,哪一个更容易编码。 这是我试图访问的对象的解析版本试图访问对象内部的嵌套json对象,json,object,nested,Json,Object,Nested,我已经做了几个小时了,我快不知所措了 我试图访问的数据可以被解析,也可以被字符串化,哪一个更容易编码。 这是我试图访问的对象的解析版本 data: [ { id: '----', user_id: '----', user_login: '----', user_name: '----', game_id: '----', game_name: '-----', type: 'live',
data: [
{
id: '----',
user_id: '----',
user_login: '----',
user_name: '----',
game_id: '----',
game_name: '-----',
type: 'live',
title: '----',
viewer_count: -,
started_at: '----',
language: 'en',
thumbnail_url: '----',
tag_ids: [Array],
is_mature: false
}
],
pagination: {}
}
我认为我遇到的问题是开始时的“数据”
下面是定义这个的代码
request.get(currentStatus, (err,res,body) => {
if(err){
return console.log(err);
}
console.log('Status: ' + res.statusCode)
var data = body
var id = _.get(body, 'data.id');
console.log(id)
});```
I really just need to access "id" and define it as its own variable.
Thank's for any advice.
我认为您可以简单地将响应主体解析为js对象,然后访问其字段,如:
parsed = JSON.parse(body);
id = parsed.data[0].id;
如果数据数组长度大于1,则可以根据需要更改索引您只需放置与需要访问的对象对应的数组索引。
var id=data[0].id问题的一部分是:`id=parsed.data[0].id;^TypeError:无法读取未定义的属性“id”`是否可以在不同的步骤中输出
body
的值?例如,在解析之前和之后?JSON.parse不应返回undefined,而应在字符串无法解析时引发异常,因此响应中可能缺少数据数组?如果不进行解析,则会导致此id=body.data[0].id;^TypeError:无法读取undefinedit的属性“0”,它不是关于解析的,而是关于确保收到正确的响应,请尝试执行console.log(body)
,然后,如果body正确,则解析它,然后使用console.log(parsed)
再次打印它。确保您试图解析的内容具有data
属性,否则它将是未定义的