javascript - 将 XML 转换为 Json。并获取特定数据(Javascript)
问题描述
每个人!我ve completely stuck with one project.
https://plnkr.co/edit/lcPGvAE10qhY9Px89c1e?p=preview
I need to convert xml to json(that seems to work). But when i save it from plnkr can
不会离线打开它。如果您能帮我从这个 json 中获取特定数据,那就太好了。1) 每人的配偶 2) 最后 10 人。3) 特定人的祖先。谢谢您的回答。祝你今天过得愉快
解决方案
我实际上试图从这个数据集中找出任何使用他/她名字的特定人。我知道这不是答案,但我认为这至少会让您对解决方案的路径有所了解。这是JS-bin 链接
const data = JSON.parse(`{"person":{"name":"Abram","surname":"Hannibal","maidenname":"None","dateofbirth":"1696","dateofdeath":"1781","childreninfo":"","family":"","marriage":{"person":{"name":"Hristina-Regina","surname":"Von Shenberg","maidenname":"Unknown","dateofbirth":"Unknown","dateofdeath":"1705","childreninfo":"","family":""}},"children":{"person":{"name":"Osip","surname":"Hannibal","maidenname":"None","dateofbirth":"1744","dateofdeath":"1807","childreninfo":"","family":"","marriage":{"person":{"name":"Maria","surname":"Pushkina","maidenname":"Hannibal","dateofbirth":"1745","dateofdeath":"1819","childreninfo":"","family":"","children":{"person":{"name":"Nadezhda","surname":"Pushkina","maidenname":"Hannibal","dateofbirth":"1775","dateofdeath":"1836","childreninfo":"","family":"","marriage":{"person":{"name":"Sergei","surname":"Pushkin","maidenname":"None","dateofbirth":"1770","dateofdeath":"1838","childreninfo":"","family":""}},"children":{"person":{"name":"Lev","surname":"Pushkin","maidenname":"None","dateofbirth":"1805","dateofdeath":"1852","childreninfo":"","family":"","marriage":{"person":{"name":"Olga","surname":"Pushkina","maidenname":"Pavlistsheva","dateofbirth":"1797","dateofdeath":"1868","childreninfo":"","family":""}},"children":{"person":{"name":"Alexandr","surname":"Pushkin","maidenname":"None","dateofbirth":"1799","dateofdeath":"1837","childreninfo":"","family":"","marriage":{"person":{"name":"Natalia","surname":"Pushkina","maidenname":"Goncharova","dateofbirth":"1812","dateofdeath":"1863","childreninfo":"","family":""}},"children":{"person":[{"name":"Maria","surname":"Gartung","maidenname":"Pushkina","dateofbirth":"1832","dateofdeath":"1919","childreninfo":"","family":""},{"name":"Aleksandr","surname":"Pushkin","maidenname":"None","dateofbirth":"1833","dateofdeath":"1914","childreninfo":"","family":""},{"name":"Grigori","surname":"Pushkin","maidenname":"None","dateofbirth":"1835","dateofdeath":"1905","childreninfo":"","family":""},{"name":"Natalia","surname":"Pushkina","maidenname":"Unknown","dateofbirth":"1836","dateofdeath":"1913","childreninfo":"","family":""}]}}}}}}}}}}}}}
`);
let foundPersonObj = {};
function findPerson(data, name) {
if (data.name && data.name.toLowerCase() === name.toLowerCase()) {
foundPersonObj = data;
} else {
if (
data.marriage &&
typeof data.marriage.person === "object" &&
data.marriage.person !== null
) {
findPerson(data.marriage.person, name);
}
if (
data.children &&
typeof data.children.person === "object" &&
data.children.person !== null
) {
findPerson(data.children.person, name);
}
}
return foundPersonObj;
}
console.log(findPerson(data.person, "Osip"));
如果您在此代码中发现任何问题,请告诉我。
推荐阅读
- python - 创建新规则和使用“|”之间的正则表达式运行时差异,python
- node.js - 如何使用 express-boom badRequest
- codeigniter - 如何更正在codeigniter中登录时显示空白页面的登录页面页面?
- r - r - 在多列上应用单个条件
- javascript - 如何根据条件返回 Google 图片搜索
- ios - 无法访问从 CoreData 获取的对象
- r - 将 lapply 与日期和时间对象一起使用时如何返回数据框
- cpu-cache - 从地址 ~~111xxx 加载 QWORD 时引用多个缓存块?
- algorithm - 计算 4D 形状的 3D 横截面(tesseract)
- jolt - 颠簸变换 - 将平面映射到分层(嵌套