通过指定完整路径获取 JSON 子值时出现问题
issue with getting JSON child values by specifying full path
我有以下 JSON 响应
{
"r": [{
"IsDefault": false,
"re": {
"Name": "Depo"
},
"Valid": "Oct8, 2013",
"Clg":[ {
"Name": "james",
"Rate": 0.05
},
{
"Name": "Jack",
"Rate": 0.55
},
{
"Name": "Mcd",
"Rate": 0.01,
}],
},
{
"IsDefault": false,
"re": {
"Name": "Depo"
},
"Valid": "Oct8, 2013",
"Clg": [{
"Name": "james",
"Rate": 0.05
},
{
"Name": "Jack",
"Rate": 0.55
},
{
"Name": "Mcd",
"Rate": 0.01,
}],
},
{
"IsDefault": false,
"re": {
"Name": "Depo"
},
"Valid": "Oct8, 2013",
"Clg": [{
"Name": "james",
"Rate": 0.05
},
{
"Name": "Jack",
"Rate": 0.55
},
{
"Name": "Mcd",
"Rate": 0.01,
}],
}]
}
我正在使用 $.getJSON 方法来加载 JSON 数据并通过检查它是否是数组将其添加到集合中,如下所示。它按预期工作正常。
var res = loadFromJson(result.r);
loadFromJson = function(input) {
if (_.isArray(input)) {
console.log("Inside Array");
var collection = new CompeCollection();
_.each(input, function(modData) {
collection.add(loadFromJson(modData));
console.log("collection length:"+modData.length);
});
return collection;
}
};
但是当我尝试指定我的 JSON 响应的确切路径 (r.Clg) 时,它甚至没有达到上述条件,尽管它是有效的响应。
var res = loadFromJson(result.r.Clg);
loadFromJson = function(input) {
if (_.isArray(input)) {
console.log("Inside Array");
var collection = new CompeCollection();
_.each(input, function(modData) {
collection.add(loadFromJson(modData));
console.log("collection length:"+modData.length);
});
return collection;
}
};
当我需要指定实际路径或完整路径时,我该怎么办?
谁能告诉我当我传递更具体的 json 值时可能有什么问题?
提前谢谢。
>result.r.Clg
不存在。 result.r
是一个数组。
如果只想访问 r
数组中的第一个对象,则可以执行以下操作:
var res = loadFromJson(result.r);
var clg = res[0].Clg;
或者你可以遍历所有对象,也许在一个数组中捕获所有 Clg:
var clgs = res.map(function (obj) { return obj.Clg; }, []);
相关文章:
- Ext.js从json构建模型关系的问题
- 将数据加载到使用JSON返回的表单字段时出现问题
- 在javascript中使用json数据导致问题
- 神秘的ajax json请求问题jQuery
- JavaScript/jQuery JSON数组问题-值为未定义
- 从第三方服务器发出解析json的问题
- 获取json结果的身份验证问题
- 关于复杂JSON解析(angularjs和javascript)的问题
- JSON分析拼接问题
- 使用.map解析JSON对象时出现问题
- Javascript/Json日期转换问题
- Webgl 加载 json 模型问题
- 从 JSON 对象获取数据时出现问题
- JSON 格式问题
- 使用 jQuery.map 后使用 JSON.stringify 的问题
- 使用 GitHub API 在 dojo 中执行 PUT 更新会返回 400:解析 JSON 时出现问题
- node.js+MySQL;JSON结果-回调问题&没有响应客户端
- SAPUI5绑定问题:json文件中维护的列表项链接不起作用
- 使用jQuery进行谷歌地图api调用时出现问题(JSON未返回)
- ExtJS中提交的响应有问题(JSON中的响应,但HTML输入的地方)