2012-02-15 57 views
5

我正在使用jQuery post方法將一些數據發送到服務器。我不想自己構建JSON字符串,而只想使用Javascript對象。當我得到返回字符串(在JSON中)時,我想自動構造一個相應的javascript對象。這可能嗎?將json對象序列化到json並返回

在此先感謝。

回答

20

結帳JSON.stringify()JSON.parse()JSON2 documentation

例子:

myData = JSON.parse(text); // from json string to js object 

var myJSONText = JSON.stringify(myObject, replacer); // js object to json string 
+0

偉大的插件,謝謝! – Ipad 2014-02-19 09:19:17

6

是的。

如果JSON對象是可用的,你可以使用:

var aString = JSON.stringify(anObject); 

改造對象爲JSON字符串。

您也可以將字符串轉換成對象與

var obj = JSON.parse(aString) 

爲確保JSON是可用的,你可以包含這個文件https://github.com/douglascrockford/JSON-js

2

你應該使用道格拉斯Crockford的JSON2 library

這樣的話,你可以:

var jsonString = JSON.stringify(obj); 

var Obj = JSON.parse(jsonString); 
+2

無論如何,你可以在現代瀏覽器中做到這一點。 JSON2是一個polyfill(值得使用) – Quentin 2012-02-15 12:03:27

1

如果你使用jQuery.getJSON你不必關心字符串化和解析json,jquery會爲你做。

+0

好的事情要知道,的確如此。如果您將「.json」作爲dataType使用$ .ajax,則相同。 – CronosS 2012-02-15 12:06:43

+0

@CronosS,是的。 'getJSON'只是$ .ajax作爲dataType的「json」的縮寫。 – 2012-02-15 12:09:02