欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python存儲或讀取json時如何引入額外的雙引號和轉(zhuǎn)義引號

 更新時間:2023年06月09日 10:24:49   作者:nudt_qxx  
這篇文章主要介紹了Python存儲或讀取json時如何引入額外的雙引號和轉(zhuǎn)義引號問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Python存儲或讀取json時引入額外的雙引號和轉(zhuǎn)義引號

最近在解析json時發(fā)現(xiàn)value部分引入了不少額外的雙引號和轉(zhuǎn)義引號,

具體如下:

"test_str":"{\"created_time\": \"Fri_Aug_08 11:04:40 +0000 2014\"}"

下面解釋下如何在存儲和讀取json文件時避免這種情況。

如何在存儲時避免

存儲這里如果能規(guī)避掉,就可以讓解析的同學(xué)解析更加方便。

因?yàn)槭谴鎯r寫入了雙重編碼JSON字符串,所以才會出現(xiàn)這種情況。

所以寫入文件時檢查一下是否進(jìn)行了多次編碼。

>>> import json
>>> not_encoded = {"created_at":"Fri Aug 08 11:04:40 +0000 2014"}
>>> encoded_data = json.dumps(not_encoded)
>>> print encoded_data
{"created_at": "Fri Aug 08 11:04:40 +0000 2014"}
>>> double_encode = json.dumps(encoded_data)
>>> print(double_encode)
"{\"created_at\": \"Fri Aug 08 11:04:40 +0000 2014\"}"

如何在解析時避免

調(diào)用第三方庫demjson,記得先安裝庫python -m pip install demjson。

>>> import demjson
>>> test = r'"{\"created_time\": \"Fri_Aug_08 11:04:40 +0000 2014\"}"'
>>> json_str = demjson.decode(test)
>>> json_str
'{"created_time": "Fri_Aug_08 11:04:40 +0000 2014"}'
>>> json_content = json.loads(json_str)
>>> json_content["created_time"]
'Fri_Aug_08 11:04:40 +0000 2014'

python json單、雙引號問題

在 python3 里,一個json是一個字典,形如 {"a":15}

json轉(zhuǎn)換成字符串的話

那么,如果你要將它轉(zhuǎn)換成字符串,也許你用的是str({"a":15}),這樣轉(zhuǎn)出來的,可能是是s= "{'a':'15'}",也就是說,里面的kv是單引號的。

這個字符串,傳到其他地方,再用json.loads(s)的時候會出錯,json不支持單引號。

所以,假如你想把一個json結(jié)構(gòu),轉(zhuǎn)成字符串,傳遞給遠(yuǎn)處,然后再重新解析成json結(jié)構(gòu),應(yīng)該這樣:

s = json.dumps({"a":15})

然后,把數(shù)據(jù)傳到遠(yuǎn)端,然后再解析回來:

d = json.loads(s)

這樣就不會出錯了。

也支持列表,能一次性傳多個結(jié)構(gòu)

s = json.dumps([{"a":15}, {"b":20}])

然后,把數(shù)據(jù)傳到遠(yuǎn)端,然后再解析回來:

d = json.loads(s)

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python動態(tài)聲明變量賦值代碼實(shí)例

    Python動態(tài)聲明變量賦值代碼實(shí)例

    這篇文章主要介紹了Python動態(tài)聲明變量賦值代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • Python?Django源碼運(yùn)行過程解析

    Python?Django源碼運(yùn)行過程解析

    這篇文章主要介紹了Python?Django源碼運(yùn)行過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • 淺析python 通⽤爬⾍和聚焦爬⾍

    淺析python 通⽤爬⾍和聚焦爬⾍

    這篇文章主要介紹了python 通⽤爬⾍和聚焦爬⾍的相關(guān)資料,幫助大家更好的了解和使用python 爬蟲,感興趣的朋友可以了解下
    2020-09-09
  • python實(shí)現(xiàn)logistic分類算法代碼

    python實(shí)現(xiàn)logistic分類算法代碼

    今天小編就為大家分享一篇python實(shí)現(xiàn)logistic分類算法代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python基礎(chǔ)詳解之列表復(fù)制

    Python基礎(chǔ)詳解之列表復(fù)制

    這篇文章主要介紹了Python基礎(chǔ)詳解之列表復(fù)制,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python基礎(chǔ)的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-04-04
  • 詳解Python+OpenCV進(jìn)行基礎(chǔ)的圖像操作

    詳解Python+OpenCV進(jìn)行基礎(chǔ)的圖像操作

    OpenCV是一個用于計(jì)算機(jī)視覺和圖像操作的免費(fèi)開源庫,有數(shù)千種優(yōu)化的算法和函數(shù)用于各種圖像操作。本文將使用OpenCV在Python中進(jìn)行一些圖像操作,感興趣的可以學(xué)習(xí)一下
    2022-02-02
  • GDAL 矢量屬性數(shù)據(jù)修改方式(python)

    GDAL 矢量屬性數(shù)據(jù)修改方式(python)

    這篇文章主要介紹了GDAL 矢量屬性數(shù)據(jù)修改方式(python),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • python之實(shí)現(xiàn)兩個或多個列表相加

    python之實(shí)現(xiàn)兩個或多個列表相加

    這篇文章主要介紹了python之實(shí)現(xiàn)兩個或多個列表相加方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Django中url的反向查詢的方法

    Django中url的反向查詢的方法

    本篇文章主要介紹了Django中url的反向查詢的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • python實(shí)現(xiàn)的登錄和操作開心網(wǎng)腳本分享

    python實(shí)現(xiàn)的登錄和操作開心網(wǎng)腳本分享

    這篇文章主要介紹了python實(shí)現(xiàn)的登錄和操作開心網(wǎng)腳本分享,可以登錄開心網(wǎng),登錄后發(fā)送信息等功能,需要的朋友可以參考下
    2014-07-07

最新評論