javascript - 嵌套 JSON 和 awesomecomplete.js
问题描述
我对嵌套的 JSON 文件有疑问。怎么称呼“名字”?
JSON 文件
{
"city": [{
"name":"Belgium",
"topLevelDomain":[".be"]
}]
}
javascript
var ajax = new XMLHttpRequest();
ajax.open("GET", "http://exapmple.com/example.json",true);
ajax.onload = function() {
var list = JSON.parse(ajax.responseText).map(function(i) { return i.name;});
new Awesomplete(document.querySelector("#search"),{ list: list });
};
ajax.send();
解决方案
您必须在对象内部进行深入搜索。
var obj=[{
"city": [{
"name":"Belgium",
"topLevelDomain":[".be"]
}]
}]
function searchInside(object){
if(object.hasOwnProperty('name'))
return object.name;
for(var i=0;i<Object.keys(object).length;i++){
if(typeof object[Object.keys(object)[i]]=="object"){
o=searchInside(object[Object.keys(object)[i]]);
if(o!=null)
return o;
}
}
return null;
}
console.log(searchInside(obj))
推荐阅读
- javascript - 将 REACT 组件渲染为 HTML 字符串以复制或添加到 textarea
- sockets - Epoll FD 能否以不同方式处理两个 Epollin 事件?
- postgresql - 如何让 Postgres 10.x 不从文本搜索中删除文章和代词
- flutter - 监听 Flutter 的 TabController 上的所有事件
- typescript - 模块“电子”只能使用“esModuleInterop”标志默认导入
- eclipse - 出于某种原因,当我在编辑器(Eclipse IDE)中按下 F 按钮时,它的作用就像是退格键盘。到底是怎么回事?
- wordpress - Woocommerce 限制 API
- python - 使用来自 train_test_split() 的值列表作为训练数据
- psychopy - 使用 ioHub 和 EyeLink 1000 Eye Tracker 在 PsychoPy 中跟踪注视位置
- r - 当我尝试创建折线图时,为什么 ggplot2 会给我一个空网格?