循环只以特定模式开始的JSON对象
Loop through JSON objects that only start with a certain pattern
循环遍历仅以特定模式开始的JSON对象的正确/惯用方法是什么?
示例:假设我有一个JSON,如
{
"END": true,
"Lines": "End Reached",
"term0": {
"PrincipalTranslations": {
// nested data here
}
},
"term1": {
"PrincipalTranslations": {
// more nested data here
}
}
}
我只想访问PrincipalTranslations
对象,我尝试了:
$.each(translations, function(term, value) {
$.each(term, function(pos, value) {
console.log(pos);
});
});
这不起作用,可能是因为我不能循环通过END
和Lines
对象。
我试着用一些像
$.each(translations, function(term, value) {
$.each(TERM-THAT-STARTS-WITH-PATTERN, function(pos, value) {
console.log(pos);
});
});
使用通配符,但没有成功。我可以尝试用if
语句搞砸,但我怀疑有一个更好的解决方案,我错过了。谢谢。
如果您只对PrincipalTranslations
-对象感兴趣,下面的代码可以满足您的需求:
$.each(translations, function(term, value) {
if (value.PrincipalTranslations !== undefined) {
console.log(value.PrincipalTranslations);
}
});
JSFiddle
如何在对象中搜索属性它是这样的
var obj1 ={ /* your posted object*/};
// navigates through all properties
var x = Object.keys(obj1).reduce(function(arr,prop){
// filter only those that are objects and has a property named "PrincipalTranslations"
if(typeof obj1[prop]==="object" && Object.keys(obj1[prop])
.filter(
function (p) {
return p === "PrincipalTranslations";})) {
arr.push(obj1[prop]);
}
return arr;
},[]);
console.log(x);
相关文章:
- jQuery匹配JSON对象的部分文本
- 在循环中分配json值时,值被覆盖
- 需要帮助设置json数组
- 如何在Javascript中将JSon对象转换为数组
- 从开始到结束的数字记录json中获取记录
- 从特定索引开始从 json 获取字符串值
- 为什么在javascript中将数组转换为JSON时添加了开始和结束
- 我如何采用两个日期选择器并使用我的开始和结束日期对数据进行排序,但 json 数据包含 5/12/2016,而角度仅排序
- JSON Linq.js 筛选开始日期结束日期列
- 从头开始在NodeJ中编写JSON验证
- JQuery中的JSON数据解析从数组开始
- 从noflo-nodejs开始——图<json文件>--batch—register false
- jQuery/JS -等待JSON块处理完成后再开始下一个块
- d3.js中的一个函数,用于从不同大小的JSON源创建开始和结束节点以及节点和链接文本
- 是否有一种方法可以通过多个数组来增加JSON数组键值,而不是从每个数组开始
- 比较列表json中的开始时间和结束时间
- 循环只以特定模式开始的JSON对象
- 无法在包中正确指向开始标记.用于react js的Json
- JSON索引添加到自身,而不是在重新加载时从0开始
- 根据开始日期和结束日期筛选JSON