JSON String未使用jQuery进行验证

时间:2014-08-20 06:08:27

标签: jquery json

我有一个JSON字符串,我正在尝试使用jQuery检查它是否是JSON对象。我用过

try {
   var jsonObject = jQuery.parseJSON(yourJsonString);
} 
   catch (e) {
    // handle error 
}

并使用json = eval("{" + jsonString + "}"); ..

这是我的小提琴。任何人都可以告诉我JSON格式的问题是什么吗?

JsFiddle

2 个答案:

答案 0 :(得分:2)

首先,当使用eval来解析受信任的JSON时,您将文字包装在括号中以强制将其解析为表达式 - 而不是花括号,这实际上不会改变有关如何评估它的任何内容使用eval时。由于JSON.parse现在享有相当广泛的支持,因此请使用它。

接下来,JSON中有转义序列。

"password":"RwKmzDQppBSLz61Ciw5IZQ\u003d\u003d\r\n"

当您将它们放在JavaScript字符串文字中时,它们会被解析为它们所代表的字符,从而使JSON无效。您需要对它们进行双重转义才能进行测试,如:

'…"password":"RwKmzDQppBSLz61Ciw5IZQ\\u003d\\u003d\\r\\n"…'

Updated fiddle

答案 1 :(得分:1)

试试这个 -

var response=jQuery.parseJSON(yourJsonString);

if(typeof(response) =='object')
{
  //It is JSON
}