記錄以下今天下午遇到的乙個坑,一下午時間全花在這個問題上了。。。
在用jedis從redis中獲取到json字串後要將它反序列化為物件。結果丟擲了異常。第乙個懷疑是這個json字串是不是格式有問題,我將這個json字串在控制台列印出來放到格式化的**上,結果沒問題。
列印出來的字串如下:
又懷疑是不是fastjson有bug,換成jackson去解析,還是不行。。。
經過無數次的debug,突然發現了乙個問題:
這字串首尾多了一對引號。
用substring將首尾引號去掉後再次啟動,還是解析不了。
這時候我靈光一閃,突然想到,我們平時在字串中的
\"
在控制台上只會列印出"
而現在我的控制台能列印出\"
這說明什麼???說明\"
前面還有\\
啊!!!
於是我再次將字串中的\\
全部替換為空字串,這回終於成功了。
撒花總結
1.將首尾的"
去掉
2.用replace將\\
替換為空串
python之 獲取的json字串取值
獲取到的json字串,然後對其取值 data result.get result get ip 0 get msg 取值得到的是unicode字串 轉換為字典 可用eval 函式 data eval result.get result get ip 0 get msg data data.get l...
JSON字串解析
一 json物件 js可以按以下方式定義物件 varobj 這樣就定義了物件 obj,它有兩個公共屬性id和name,可以用 obj.id 的方式直接訪問其屬性值。從伺服器獲取資料時往往不止乙個物件,這就需要用到物件陣列,js中物件陣列可以用 來定義,如下 varobjs alert objs 0 ...
生成JSON字串
假設現在要建立這樣乙個json文字 物件 married false 布林值 try 是建立乙個物件 jsonobject person new jsonobject 第乙個鍵phone的值是陣列,所以需要建立陣列物件 jsonarray phone new jsonarray phone.put ...