我正在尝试使用javascript解析JSON文件中的值。使用getJSON方法,我能够从JSON获取值。
Q1:在到达attributionString时,我无法获得超出此点的值。我尝试使用以下代码。但它会引发错误
var sample = data.layers[i].layers[j].attributedString._class;
console.log(sample)
在谷歌搜索中,我发现一些值以base 64 bplist格式给出。
Q2:如何使用Javascript将bplist格式值解码为可读格式?
我找到了一个执行上述操作的节点包。但我希望以javascript浏览器格式提供它。感谢
答案 0 :(得分:0)
您有错误,因为某些值为undefined
,您只需在访问子值之前对其进行测试:
var page = 'https://api.myjson.com/bins/1ca2vz'
$.getJSON(page, function(data) {
var layerNo = data.layers.length;
for (i = 0; i < layerNo; i++) {
var slideName = data.layers[i].name
var slideConNo = data.layers[i].layers.length;
for (j = 0; j < slideConNo; j++) {
var layerName = data.layers[i].layers[j].name
var as = data.layers[i].layers[j].attributedString;
if (as) {
var sample = data.layers[i].layers[j].attributedString._class;
console.log('sample =', sample)
}
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>