jQuery-如何从嵌套的JSON中获取JSON数组名称
jQuery - How to get JSON array name from nested JSON
我是jQuery和JSON的新手。我希望你能帮我完成我的小任务。我有以下JSON对象结构:
{
"recipe": {
"myREAL":0,
"mySTRING":"STRING variable",
"myUDINT":0,
"mybool":0,
"ingNumber":[0,0,0,0,0],
"ingMinimumWeight":[0,0,0,0,0],
"ingNominalWeight":[0,0,0,0,0]
}
}
我想获取数组名称的名称,而不是只获取索引和索引值。
到目前为止我的输出:
Key: myREAL Value: 0
Key: mySTRING Value: STRING variable
Key: myUDINT Value: 0
Key: mybool Value: 0
Key: 0 Value: 0
Key: 1 Value: 0
Key: 2 Value: 0
Key: 3 Value: 0
Key: 4 Value: 0
...
我对这样的结构感兴趣:
Key: myREAL Value: 0
Key: mySTRING Value: STRING variable
Key: myUDINT Value: 0
Key: mybool Value: 0
ingNumber:
Key: 0 Value: 0
Key: 1 Value: 0
Key: 2 Value: 0
Key: 3 Value: 0
Key: 4 Value: 0
ingMinimumWeight:
...
我希望在Jquery中执行此操作,而不指定数组变量的名称。
我的jQuery代码:
function iter(obj) {
for (var key in obj) {
if (typeof (obj[key]) == 'object') {
iter(obj[key]);
} else {
content = " Key: " + key + " Value: " + obj[key] + ''n';
var box = $("#myArea");
box.val(box.val() + content);
}
}
}
根据您想要的输出,您需要在再次递归调用函数之前将内容添加到box中。
function iter(obj) {
var box = $("#myArea");
for (var key in obj) {
if (typeof (obj[key]) == 'object') {
content = key+ " : 'n";
box.val(box.val() + content);
iter(obj[key]);
} else {
content = " Key: " + key + " Value: " + obj[key] + ''n';
box.val(box.val() + content);
}
}
}
DEMO
如果处理对象,则需要将属性名.append()
(您使用的是Jquery对吗?)添加到文本区域。也可以使用===
来检查您是否正在处理一个对象。还要检查obj[key]
是否不是null
,因为typeof null
也计算为对象。
jsfiddle演示
function iter(obj) {
var box = $("#myArea");
for (var key in obj) {
if (obj[key] !== null && typeof obj[key] === 'object') {
box.append(key+': 'n')
iter(obj[key]);
} else {
content = " Key: " + key + " Value: " + obj[key] + ''n';
box.append(content);
}
}
}
相关文章:
- JSON获取用户id's在嵌套数组中
- JSON:获取映射数据
- Jquery从JSON获取数据(未定义)
- 从 JSON 获取键值对而不使用 .(DOT) 在 Java 脚本或 jquery 中
- Django 使用 JSON 获取模型方法的值
- TypeError: 使用 Jquery JSON 获取数据时无效的 'in' 操作数 obj
- JSON获取地理位置在HTML中未返回值
- 从javascript中的JSON获取位置
- Angular Js无法使用浮点形式json获取int
- AngularJS,从json获取单个帖子
- 在服务器端创建html元素VS将数据作为JSON获取,并使用javascript创建标签
- 无效的“in”操作数 obj JQUERY - 尝试从 JSON 获取数据时出现类型错误
- 无法从 JSON 获取值
- 如何将动态数据从JSON获取到jvqmaps中,作为对象而不是来自php mysqli的数组
- 在 react.js 中从 Json 获取数据
- 从特定索引开始从 json 获取字符串值
- 如何在变量中存储从 JSON 获取的数据
- 无法从 JSON 获取数据
- 如何将 API 请求中的 JSON 获取到页面的 javascript 中
- 网格堆栈.js从 JSON 获取位置