[英]unable to convert string to json using JSON.parse()
json字串:
str = "{'Link': 'https://careers.powergrid.in/CCBaclogVacancy2018/c/default.aspx',
'Title': 'Apply Online'},{'Link': 'https://careers.powergrid.in/CCBaclogVacancy2018/c/login.aspx',
'Title': 'Login'},{'Link': 'media/pdf/details/all-india-govt-jobs/other-all-india-govt-jobs/8588011698.pdf',
'Title': 'Notification '},{'Link': 'http://www.powergridindia.com/', 'Title': 'Official Website'}"
期待:
json = {'Link': 'https://careers.powergrid.in/CCBaclogVacancy2018/c/default.aspx',
'Title': 'Apply Online'},{'Link': 'https://careers.powergrid.in/CCBaclogVacancy2018/c/login.aspx',
'Title': 'Login'},{'Link': 'media/pdf/details/all-india-govt-jobs/other-all-india-govt-jobs/8588011698.pdf',
'Title': 'Notification '},{'Link': 'http://www.powergridindia.com/', 'Title': 'Official Website'}
我正在尝试使用JSON.parse(str); 它给我错误:
VM267:1 Uncaught SyntaxError: Unexpected token ' in JSON at position 1
at JSON.parse (<anonymous>)
at <anonymous>:1:6
如何将字符串转换为纯json。
请看看这个。
JSON.parse
需要一个格式正确的字符串。 JSON数据被写为名称/值对。 名称/值对由一个字段名(双引号),一个冒号,一个值(如果是字符串值,则双引号)组成。
此外,您似乎正在尝试描述对象的集合,因此您应该将它们全部包装在数组中...(请注意,我使用的是“ ES2015字符串,允许多行字符串)
const str = `[{
"Link": "https://careers.powergrid.in/CCBaclogVacancy2018/c/default.aspx",
"Title": "Apply Online"
},
{
"Link": "https://careers.powergrid.in/CCBaclogVacancy2018/c/login.aspx",
"Title": "Login"
},
{
"Link": "media/pdf/details/all-india-govt-jobs/other-all-india-govt-jobs/8588011698.pdf",
"Title": "Notification "
},
{
"Link": "http://www.powergridindia.com/",
"Title": "Official Website"
}]`;
console.log(JSON.parse(str)[0].Title); // Apply Online
str = "what 'ever'";
str = str.replace(/'/gi,'"')
这是用regexp和replace()替换所有内容的方法
您的json无效。
[]
表示数组 因此,要使其成为有效的json,请用方括号括住对象并替换所有单引号,然后再对其进行解析。
str = `[{'Link': 'https://careers.powergrid.in/CCBaclogVacancy2018/c/default.aspx', 'Title': 'Apply Online'},{'Link': 'https://careers.powergrid.in/CCBaclogVacancy2018/c/login.aspx', 'Title': 'Login'},{'Link': 'media/pdf/details/all-india-govt-jobs/other-all-india-govt-jobs/8588011698.pdf', 'Title': 'Notification '},{'Link': 'http://www.powergridindia.com/', 'Title': 'Official Website'}]` json = JSON.parse(str.replace(/'/g, '"')) console.log(json)
无论您在这里进行什么数组操作,您都缺少最外层的包装器。 另外双引号是json中的标准
尝试包装您的字段。
`{
"items": [
{
"Link": "https://careers.powergrid.in/CCBaclogVacancy2018/c/default.aspx",
"Title": "Apply Online"
}, {
"Link": "https://careers.powergrid.in/CCBaclogVacancy2018/c/login.aspx",
"Title": "Login"
}, {
"Link": "media/pdf/details/all-india-govt-jobs/other-all-india-govt-jobs/8588011698.pdf",
"Title": "Notification"
}, {
"Link": "http://www.powergridindia.com",
"Title": "Official Website"
}
]
}`
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.