jsonObject是一个字符串 - 如何转换为json?
我有我的AJAX提交的表单一个奇怪的问题......我在形式的文件上传,并以某种方式从服务器的有效JSON对象现在是一个String ...jsonObject是一个字符串 - 如何转换为json?
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"}
所以,没有文件上载和console.log(jsonObject)
形式的enctype:multipart
返回>Object
带有“成功”和“数据”属性。通过表单中的文件上传,jsonObject是一个字符串,就像你上面看到的那样。
任何想法可能导致什么?或者我怎样才能将字符串转换回有效的JSON对象?
预先感谢您。
如何将字符串转换回有效的[..]对象?
jsonObject = JSON.parse(jsonObject);
这不会导致一个JSON对象(不管是什么),而是一个JavaScript对象。 – 2012-02-21 10:25:08
我100%肯定这就是他的意思。 – 2012-02-21 10:25:21
是的,我也是,但应该澄清并解释JSON不是JavaScript。 – 2012-02-21 10:26:00
您可以通过JSON.parse
运行,同时采用json2.js提供旧版本浏览器的方法。
var js_object = JSON.parse(json_string);
(这会给你一个JavaScript对象,因为那里有is no such thing as a JSON object)。
如果您已经在使用jQuery,那么它有自己的抽象方法 - jQuery.parseJSON
- 您可以使用它来代替json2.js。这是一个过大的库,只是为该功能加载。
您可以使用JSON.parse这只会在浏览器的新版本中工作(不会IE7-工作),或者你可以用$ jQuery.parseJSON
JSON只在JavaScript中存在的字符串......所以你的请求有点混乱。我假设你想要一个* JavaScript *对象。 – 2012-02-21 10:24:31
是的,你是对的,并不完全知道它的区别。我需要一个jsObject - 正确! – matt 2012-02-21 10:42:25