2022年6月21日 星期二

字串轉換json 的幾種狀況

在程式內常會把json資料以text方式存到db內

當拿出來使用再轉為json使用

字串的產生 可能是由物件stringify產生

或是透過組合而成的字串

組合出要可以產生json物件的字串

可能有以下幾種狀況與錯誤


1. 字串內都是用雙引號包起來

可以直接parse成json物件

str = {"name":"oz"}

obj = JSON.parse(str)


2. 字串以單引號包起來

會發生解析錯誤,可以透過stringify把'轉成"

str = {'name':'oz'}

str = JSON.stringify(str)

obj = JSON.parse(str)


3.若單雙引號混合就無法轉成json物件

雙引號會被加上跳脫字元

單引號會轉成雙引號

str = {"name":'oz'}

str = JSON.stringify(str)

產生的字串為  {\"name\":"oz"}

這樣無法轉成json物件



沒有留言: