key沒有引號的字串如何轉json變為字典格式

2021-10-08 08:27:20 字數 1180 閱讀 5673

讀取txt檔案將其轉換為字典:json內容載入和eval函式,其中json方法占用記憶體較少!

兩種方式的**:

import json

def json_to_dict(content_str):

'''txt檔案讀取的字串,使用json載入,占用記憶體少

:param txt_path:

:return:

'''content_dict = json.loads(content_str)

return content_dict

def str_to_dict(content_str):

'''txt檔案讀取的字串,使用eval函式直接轉換

:param txt_path:

:return:

'''content_dict = eval(content_str)

return content_dict

if __name__ == "__main__":

txt_path = ""

f = open(txt_path, 'r')

content_str = f.read()

#第一種方法

json_to_dict(content_str)

#第二種方法

str_to_dict(content_str)

如果字串中的key沒有引號怎麼轉換為字典:

1)使用yaml

import yaml

dict = yaml.safe_load(string)

2) 使用demjson

import demjson

dict = demjson.decode(string)

3) 使用函式直接變為字典

def jsonfy(s: str) -> object:

obj = eval(s, type('js', (dict,), dict(__getitem__=lambda s, n: n))())

return obj

4)先正則新增雙引號

例如str = ""

str1 = re.sub(r'(?<="

在使用json載入轉換為字典

dict = json.loads(str1)

python中字典轉字串單引號變雙引號

兩種方法 str 以及json.dumps 注意 單引號雙引號的區別 str方法將其變為單引號,json.dumps方法仍是雙引號!import json d print type d str d str d print str d str d print str d的型別 type str d j...

JSON字串key缺少雙引號的解決方法

json字串key缺少引號的解決方法 json字串是key value形式的字串,正常key是由雙引號括起來的。例如 data array name fdipzone echo json encode data print r json decode json encode data true ar...

如何在字串中新增雙引號

在 雙引號前新增轉義符 字串裡有雙引號,該如何表示呢?答 在雙引號前,加反斜槓 例 字串 at cscs gsm 表示為 at cscs gsm 轉義字元 轉義字元是一種特殊的字元常量。轉義字元以反斜線 開頭,後跟乙個或幾個字元。轉義字元具有特定的含義,不同於字元原有的意義,故稱 轉義 字元。例如,...