jsonObject是一个字符串 - 如何转换为json?

mat*_*att 0 javascript string json

我的一个ajax提交的表单有一个奇怪的问题...我在表单中有一个文件上传,不知何故来自服务器的有效JSON对象现在是一个String ...

if (typeof jsonObject == 'string')
        console.log('yes, it's a string'); //yes, it's a string

console.log(jsonObject); // { "status":"success", "data":"Updated profile successfully"}
Run Code Online (Sandbox Code Playgroud)

因此,如果没有文件上传,则enctype:multipart表单中console.log(jsonObject)会返回>Object"success"和"data"属性.以某种方式在表单中的文件上传jsonObject是一个像你可以看到的字符串.

什么可能导致这种想法?或者我如何将字符串转换回有效的JSON对象?

先感谢您.

Que*_*tin 6

你运行它JSON.parse,同时使用json2.js为旧浏览器提供该方法.

var js_object = JSON.parse(json_string);
Run Code Online (Sandbox Code Playgroud)

(这会给你一个JavaScript对象,因为没有JSON对象这样的东西).

如果你已经在使用jQuery,那么它有自己的抽象方法 - jQuery.parseJSON你可以使用而不是json2.js.这是一个过大的库,只为该功能加载.