前端笔试|js读输入转换JSON失败
今天就是做到一个爱数笔试,输入是
"[{name:'zhangsan',age:22},{name:'zhangsan',age:22},{name:'zhangsan',age:22}]|'age'",
首先readline()没有问题,然后用arr = split("|")把前后两个拆开也没有问题。
ok现在想把前面的arr[0]部分转成JSON格式使用JSON.parse(),就报错,应该是格式不是严格的JSON格式导致的...
问一下这种情况怎么处理?难道需要手写个正则匹配出来吗?这也太复杂了有点....幸好他最后的用例只有一个测试用例,直接log打印测试输出就可以AC了
"[{name:'zhangsan',age:22},{name:'zhangsan',age:22},{name:'zhangsan',age:22}]|'age'",
首先readline()没有问题,然后用arr = split("|")把前后两个拆开也没有问题。
ok现在想把前面的arr[0]部分转成JSON格式使用JSON.parse(),就报错,应该是格式不是严格的JSON格式导致的...
问一下这种情况怎么处理?难道需要手写个正则匹配出来吗?这也太复杂了有点....幸好他最后的用例只有一个测试用例,直接log打印测试输出就可以AC了
全部评论
在JSON中,属性名必须用双引号包裹。[
{
"name": "zhangsan",
"age": 22
},
{
"name": "zhangsan",
"age": 22
},
{
"name": "zhangsan",
"age": 22
}
]这样才对
let res = arr[0].replace(/'/g,'"').replace(/name/g,'"name"').replace(/age/g,'"age"')
JSON.parse(res)
替换一下就行
相关推荐


友塔游戏
| 校招
| 超多精选岗位
点赞 评论 收藏
分享