我有json格式,我需要在循环中获取第一个索引值(音频0)和第二个索引值(视频1),所以我无法弄清楚如何使用索引0和1从json数组获取.. ..我使用这个jsfiddle得到错误...
var info = '{"streams": [{"index": 0,"codec_name": "aac","codec_long_name": "AAC (Advanced Audio Coding)"}, {"index": "1","codec_name": "h264","codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG4 part 10"}]}';
console.log("vcodec: "+info.streams[0].codec_name);
console.log("vcodec: "+info.streams[1].codec_name);
答案 0 :(得分:4)
var info = '{"streams": [{"index": 0,"codec_name": "aac","codec_long_name": "AAC (Advanced Audio Coding)"}, {"index": "1","codec_name": "h264","codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG4 part 10"}]}';
var parsedInfo = JSON.parse(info);
console.log("acodec:", parsedInfo.streams[0].codec_name);
console.log("vcodec:", parsedInfo.streams[1].codec_name);

答案 1 :(得分:2)
在你的小提琴中,infos
是一个字符串。你必须使用
JSON.parse(string)
实际获取JavaScript对象并使用它。更具体一点:
const infoString = '{"streams": []}'
const infoObject = JSON.parse(infoString)
console.log(infoObject.string)
答案 2 :(得分:1)
您可以删除双引号使其成为json并使用以下代码,它将完美地工作
var info = {"streams":
[
{"index": 0,"codec_name": "aac","codec_long_name": "AAC (Advanced Audio Coding)"},
{"index": "1","codec_name": "h264","codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG4 part 10"}
]
};
console.log(""+info.streams[0].codec_name);
console.log(""+info.streams[1].codec_name);
答案 3 :(得分:1)
在继续之前,你必须解析json字符串。
var info = YOUR_JSON ;
var parsedInfo = JSON.parse(info);
var codecName = parsedInfo.streams[0].codec_name;
答案 4 :(得分:1)
首先解析json
字符串。您当前正在使用无法在javascript
中编入索引的字符串。请找到附带的代码。
<!DOCTYPE html>
<html>
<script>
var info = '{"streams": [{"index": 0,"codec_name": "aac","codec_long_name": "AAC (Advanced Audio Coding)"}, {"index": "1","codec_name": "h264","codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG4 part 10"}]}';
info = JSON.parse(info);
console.log("vcodec: " + info.streams[0].codec_name);
console.log("vcodec: " + info.streams[1].codec_name);
</script>
<body>
</body>
</html>
&#13;