gpt4 book ai didi

javascript - 将字符串转换为键不带引号的 python 或 json 字典

转载 作者:行者123 更新时间:2023-12-03 09:57:40 24 4
gpt4 key购买 nike

想象一下 python 中的以下内容(使用 2.7):

myString = '{ key: "value"}'

“值”可以是一个简单的字符串、一个列表、一个 bool 值或另一个字典,每个都用双引号引起来

如果我尝试将其转换为 python 字典或 json,我会失败,因为原始字符串中的键未被引用。

例如:

  • ast.literal_eval(myString) 导致:IndentationError:意外缩进或 ValueError:格式错误的字符串(取决于 myString 的复杂性)
  • eval(myString) 结果:NameError: name 'AbsolutePath' is not defined
  • json.loads(myString) 结果:ValueError: Expecting property name enclosed in double quotes ...

实际上,我是从从页面上抓取的 javascript 中的 var 声明中获取此字符串的。 myString 可以存储一个包含 50 到 100 个条目的字典。

我不认为这与其他地方的问题相同,因为键未被引用而值是。

最佳答案

如果您确定只有第一个 key 没有引号,那么如果您只是简单地手动在字符串中添加引号呢?像这样:

modified_strings_list=[]    
for string in string_list:
string = string.replace('{','{"', 1)
string = string.replace(':','":', 1)
modified_strings_list.append(string)

然后应用eval()

然后可以通过循环 dict.keys() 轻松地 strip() 编辑任何空格

关于javascript - 将字符串转换为键不带引号的 python 或 json 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44727099/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com