无法访问将 xml 转换为 json
Posted
技术标签:
【中文标题】无法访问将 xml 转换为 json【英文标题】:Can not access converted xml to json 【发布时间】:2022-01-14 14:02:34 【问题描述】:我在处理一个项目时遇到了一个问题,涉及将 .xml 文件转换为 json。我正在使用包 xml2js 来执行此操作。当我控制台记录已被字符串化的 json 时,我得到了正常的 json。但是我无法通过键入 json.station 作为示例来访问其中的任何对象。在我的代码中,我使用我编写的 json 进行了尝试,但我没有这个问题。转换后的 json 和我自己的看起来和我一模一样。
const xml = '<timetable station="Berlin Südkreuz" eva="8011113"><s id="-6544008849917647305-2112082040-19" eva="8011113"><ar ct="2112082232" l="5"/><dp ct="2112082234" l="5"/></s> </timetable>';
const data =
"timetable":
"$":
"station": "Test"
console.log(data.timetable.$.station + '\n')
xml2js_parser(xml, function (err, result)
const json = JSON.stringify(result, null, 4)
console.log(json.timetable)
);
【问题讨论】:
当您使用JSON.strinify()
时,您正在将对象转换为字符串,并且该字符串将无法访问任何 JSON 属性。不要把它串起来,或者在你做之前抓住result.timetable
。
【参考方案1】:
你必须把它解析回JSON,你为什么要把它字符串化?
xml2js_parser(xml, function (err, result)
const json = JSON.stringify(result, null, 4)
console.log(JSON.parse(json).timetable)
);
【讨论】:
以上是关于无法访问将 xml 转换为 json的主要内容,如果未能解决你的问题,请参考以下文章
Spring oauth2 刷新令牌 - 无法将访问令牌转换为 JSON
Spring oauth2刷新令牌 - 无法将访问令牌转换为JSON
我正在使用 C# 将 XML 文件转换为 CSV。我尝试了不同的方法,但无法弄清楚如何访问键名/值对