如何在没有开始和结束引号的情况下解析以下json字符串?它看起来像javascript JSON.parse函数正在用引号解析字符串!因此会抛出语法错误。
这是我的字符串;
"[
{
"pk": 1,
"model": "pms.category",
"fields": {
"name": "Rent",
"add_date": "2011-07-28 01:33:21",
"agent": 3,
"category_type": "I",
"add_user": 3,
"desc": "Rent"
}
},
{
"pk": 2,
"model": "pms.category",
"fields": {
"name": "Deposit Rent",
"add_date": "2011-07-28 01:33:21",
"agent": 3,
"category_type": "I",
"add_user": 3,
"desc": "Rent Deposit"
}
}
]"
编辑: 有趣的是,当我运行我的开发机器的这个字符串时,它被正确解析,但在生产服务器上它失败了。
答案 0 :(得分:3)
替换开始和结束引号,然后解析字符串:
s = s.replace(/^"|"$/g, '');
var jsonDoc = JSON.parse(s);
此外,向发出格式错误的JSON的程序或库的作者提交错误报告。
答案 1 :(得分:1)
你应该删除字符串中的外部引号......
mystring = mystring.replace(/^"|"$/g,'')
答案 2 :(得分:1)
1.这应该是您的JSON格式,否则JSON.parse将无法正确解析
[
{
"pk": 1,
"model": "pms.category",
"fields": {
"name": "Rent",
"add_date": "2011-07-28 01:33:21",
"agent": 3,
"category_type": "I",
"add_user": 3,
"desc": "Rent"
}
},
{
"pk": 2,
"model": "pms.category",
"fields": {
"name": "Deposit Rent",
"add_date": "2011-07-28 01:33:21",
"agent": 3,
"category_type": "I",
"add_user": 3,
"desc": "Rent Deposit"
}
}
]
2.在你的头部标签之间包含github存储库中的json2.js。