【发布时间】:2016-11-20 02:32:32
【问题描述】:
我有一个不太复杂的字符串,它有一些作为值嵌入的对象。我需要将它们转换为正确的 dict 或 json。
foo = '{"Source": "my source", "Input": {"User_id": 18, "some_object": this_is_a_variable_actually}}'
请注意,最后一个键 some_object 的值既不是字符串也不是 int。因此,当我执行json.loads 或ast.literal_eval 时,我收到格式错误的字符串错误,因此Converting a String to Dictionary 不起作用。
我无法控制字符串的来源。
这样的字符串可以转成字典吗
我需要的结果是这样的字典
dict = {
"Source" : "Good",
"object1": variable1,
"object2": variable2
}
这里的问题是我不知道什么是变量 1 或 2。这里没有模式。
我想在这里提一点,如果我可以将变量设置为纯字符串,那也很好
例如,
dict = {
"Source" : "Good",
"object1": "variable1",
"object2": "variable2"
}
这将有利于我的目的。谢谢大家的回答。
【问题讨论】:
-
如果这是可能的,它怎么会知道如何评估
this_is_a_variable_actually并替换为那个变量值? -
我同意,但我的麻烦是我不知道这是 this_is_a_variable_actually 还是 i_dont_know_what_will_come_here。如果知道预期的结果,我会做一个字符串替换并完成它。
-
您可以在包含
this_is_a_variable_actually定义的上下文中eval它,但您最初是如何得到这个字符串的? -
检查@Martijn 答案:stackoverflow.com/questions/25867475/…
-
我已经根据需要的结果修改了我的问题。
标签: python string dictionary