最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python處理json字符串中的非法雙引號(hào)問題

 更新時(shí)間:2023年02月08日 14:20:06   作者:Nick_Spider  
這篇文章主要介紹了使用Python處理json字符串中的非法雙引號(hào)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Python處理json字符串中的非法雙引號(hào)

工作中數(shù)據(jù)清洗時(shí)遇到以下情況:

a = '{"地區(qū)": "湖南", "描述": "精通軟件開發(fā)、"數(shù)據(jù)挖掘"和分布式"}'

由于讀取出的json字符串中包含有非法雙引號(hào),在使用json.loads()處理的時(shí)候報(bào)錯(cuò)

json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 29 (char 28)

寫了大半個(gè)小時(shí)的正則都無法解決

后來使用如下方法解決了,一并把json字符串中的換行符、分隔符和雙引號(hào)都轉(zhuǎn)義了

def deal_json_invaild(data):
? ? data = data.replace("\n", "\\n").replace("\r", "\\r").replace("\n\r", "\\n\\r") \
? ? ? ? .replace("\r\n", "\\r\\n") \
? ? ? ? .replace("\t", "\\t")
? ? data = data.replace('": "', '&&testPassword&&')\
? ? ? ? .replace('", "', "$$testPassword$$")\
? ? ? ? .replace('{"', "@@testPassword@@")\
? ? ? ? .replace('"}', "**testPassword**")
? ? print(data)

? ? data = data.replace('"', r'\"')\
? ? ? ? .replace('&&testPassword&&', '": "').replace('$$testPassword$$', '", "').replace('@@testPassword@@', '{"').replace('**testPassword**', '"}')
? ? print(data)
? ? return data

測(cè)試如下:

a = deal_json_invaild(a)
json_data = json.loads(a)

> {"地區(qū)": "湖南", "描述": "精通軟件開發(fā)、\"數(shù)據(jù)挖掘\"和分布式"}

此時(shí)轉(zhuǎn)使用json.loads()便不會(huì)報(bào)錯(cuò)了

Python json單、雙引號(hào)問題

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

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

那么,如果你要將它轉(zhuǎn)換成字符串,也許你用的是str({"a":15}),這樣轉(zhuǎn)出來的,可能是是s= "{'a':'15'}",也就是說,里面的kv是單引號(hào)的。這個(gè)字符串,傳到其他地方,再用json.loads(s)的時(shí)候會(huì)出錯(cuò),json不支持單引號(hào)。

所以,假如你想把一個(gè)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)

這樣就不會(huì)出錯(cuò)了。

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

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

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

d = json.loads(s)

總結(jié)

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

  • Pygame代碼?制作一個(gè)貪吃蛇小游戲

    Pygame代碼?制作一個(gè)貪吃蛇小游戲

    這篇文章主要介紹了100行Pygame代碼?制作一個(gè)貪吃蛇小游戲,相信我們大家都玩過貪吃蛇游戲,今天我們就從頭一起來寫一個(gè)貪吃蛇小游戲,只需要100多行的代碼就完成了,需要的朋友可以參考一下
    2021-12-12
  • Python?encode()方法和decode()方法詳解

    Python?encode()方法和decode()方法詳解

    encode() 方法為字符串類型(str)提供的方法,用于將 str 類型轉(zhuǎn)換成 bytes 類型,這個(gè)過程也稱為“編碼”,這篇文章主要介紹了Python?encode()方法和decode()方法,需要的朋友可以參考下
    2022-12-12
  • 教你使用Pandas直接核算Excel中的快遞費(fèi)用

    教你使用Pandas直接核算Excel中的快遞費(fèi)用

    文中仔細(xì)說明了怎么根據(jù)賬單核算運(yùn)費(fèi).首先要確定運(yùn)費(fèi)規(guī)則,然后根據(jù)運(yùn)費(fèi)規(guī)則編寫代碼,生成核算列(快遞費(fèi) = 省份*重量),最后輸入賬單,進(jìn)行核算.將腳本件生成EXE文件,就可以使用啦,需要的朋友可以參考下
    2021-05-05
  • 使用python和pygame制作擋板彈球游戲

    使用python和pygame制作擋板彈球游戲

    這篇文章主要介紹了使用python和pygame制作擋板彈球游戲,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 教你使用conda虛擬環(huán)境管理(創(chuàng)建、激活、重命名、刪除虛擬環(huán)境)

    教你使用conda虛擬環(huán)境管理(創(chuàng)建、激活、重命名、刪除虛擬環(huán)境)

    conda是一個(gè)強(qiáng)大的Python包管理和環(huán)境管理工具,它可以幫助我們輕松地安裝、更新、卸載和切換不同版本的Python和各種第三方庫,本文就來介紹一下conda虛擬環(huán)境管理(創(chuàng)建、激活、重命名、刪除虛擬環(huán)境),感興趣的可以了解一下
    2024-01-01
  • python實(shí)現(xiàn)圖片彩色轉(zhuǎn)化為素描

    python實(shí)現(xiàn)圖片彩色轉(zhuǎn)化為素描

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)圖片彩色轉(zhuǎn)化為素描,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • django定期執(zhí)行任務(wù)(實(shí)例講解)

    django定期執(zhí)行任務(wù)(實(shí)例講解)

    下面小編就為大家?guī)硪黄猟jango定期執(zhí)行任務(wù)(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • pytorch實(shí)現(xiàn)梯度下降和反向傳播圖文詳細(xì)講解

    pytorch實(shí)現(xiàn)梯度下降和反向傳播圖文詳細(xì)講解

    這篇文章主要介紹了pytorch實(shí)現(xiàn)梯度下降和反向傳播,反向傳播的目的是計(jì)算成本函數(shù)C對(duì)網(wǎng)絡(luò)中任意w或b的偏導(dǎo)數(shù)。一旦我們有了這些偏導(dǎo)數(shù),我們將通過一些常數(shù)α的乘積和該數(shù)量相對(duì)于成本函數(shù)的偏導(dǎo)數(shù)來更新網(wǎng)絡(luò)中的權(quán)重和偏差
    2023-04-04
  • python將unicode轉(zhuǎn)為str的方法

    python將unicode轉(zhuǎn)為str的方法

    下面小編就為大家?guī)硪黄猵ython將unicode轉(zhuǎn)為str的方法。小編覺得挺不錯(cuò)的?,F(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • 最新評(píng)論

    石林| 新化县| 安丘市| 通榆县| 津南区| 本溪市| 沛县| 扎囊县| 高尔夫| 乌什县| 留坝县| 兴义市| 大荔县| 民和| 夹江县| 德昌县| 凤庆县| 淅川县| 青神县| 炉霍县| 西峡县| 东至县| 东辽县| 宁海县| 罗源县| 寿阳县| 东光县| 泾川县| 三穗县| 铁力市| 通辽市| 象州县| 思茅市| 大庆市| 黎平县| 介休市| 瓮安县| 交城县| 阳高县| 台山市| 泗阳县|