【发布时间】:2013-04-19 07:05:14
【问题描述】:
我有一个接受字符串的 NodeJS 应用程序(已上传输入!)我对输入没有无法控制 我只是为进程构建一个 REST 服务 数据。
该字符串 意味着 是 JSON 对象 的 Array,然后我可以循环提取每个元素... p>
我接收以下内容(作为字符串):
[
{Name: 'Jane',
Id: '005b0000000MGa7AAG'},
{Name: 'Tom',
Id: '005b0000000MGa7AAF'}
]
当我尝试 JSON.parse 时,我得到了
SyntaxError: Unexpected token N
可以理解,因为我知道这是无效的 JSON
而这个下一个字符串是有效的JSON并且通过http://jsonlint.com/:
[
{"Name": "Jack",
"Id": "005b0000000MGa7AAA"},
{"Name": "Jill",
"Id": "005b0000000MGa7AAB"}
]
我的问题是:如何我可以接受 first 输入并解析它以允许:
parsed[0]['Name'] == 'Jane'
>> true
我的第一直觉是用字符串替换键(例如,将名称改为“名称”),然后尝试解析它。但如果其他人有解决方案,我将不胜感激。
【问题讨论】:
-
用户必须输入 JSON?
-
第一个不是json格式
-
嗨@ExplosionPills 我应该澄清一下它是一个接受 JSON 的网络服务。上传的字符串不是由用户手动输入的,而是由 JAVA 应用程序(不受我控制)生成并发送到我的 NodeJS 应用程序进行处理。他们正在向我发送无效的 JSON... :-(
标签: javascript node.js json parsing salesforce