簡體   English   中英

與json對象和字符串以及JSON.parse和JSON.stringify混淆

[英]Confused with json object and string and JSON.parse and JSON.stringify

我正在使用node.js來處理ajax請求並返回一個對象。

如果我使用res.json(obj); ,然后得到一個string ,並且可以使用JSON.parse(string)將其轉換為對象,一切都很好。

但是,如果我使用res.json(JSON.stringify(obj)) ,我也可以獲得一個string ,但是JSON.parse(string)不會將其轉換為對象。

這兩個string什么區別? 它們的內容看起來相同。 我正在使用typeof()進行檢查。

因此res.json使用JSON.stringify(請參見第242行),但是它通過指定自己的json replacerjson spaces來進行自己的編輯。

這都是JSON.stringify可以用來改變JSON字符串化方式的東西。 在更深入地研究之后,似乎默認情況下未設置json spacesjson replacer器,因此Express會簡單地進行設置,以便如果在您的應用程序設置中設置了它們,它將拉出它們並確保您的JSON響應正確匹配。

它還執行一些操作,例如設置內容類型等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM