【发布时间】:2018-10-24 18:14:30
【问题描述】:
我正在努力反序列化 python 2.7 中的输入数据文件,并且真的不知道从哪里开始。我将输入文件保存为 JSON:
{
"Group": {
"Test": {
"test1": {
"x1": 100,
"y1": 150
},
"test2": {
"x1": 23,
"y1": 56,
"x2": 200,
"y2": 234
},
"test3": {
"x1": 123,
"y1": 456,
"x2": 345,
"y2": 986,
"x3": 234,
"y3": 654
},
"test4": {
"x1": 789,
"y1": 987,
"x2": 345,
"y2": 555,
"x3": 111,
"y3": 222,
"x4": 333,
"y4": 444
}
}
}
}
我正在尝试删除数据,因此如果需要案例“test1”,我可以获取 x1 和 y1 的值并填充一个字段。如果需要 3 对 x 和 y 值,我需要从“test3”中获取值。
我正在尝试在代码中填充以下变量中的字段。它保存为字典,因为最终产品是 JSON 文件。我需要使用上面列出的数据文件中的值填充宽度和高度字段。为了便于阅读,这里是使用 json.dumps 打印出来的变量:
{
"subs": {
"1": {
"video_info": {
"width": x1,
"height": y1
}
},
"2": {
"video_info": {
"width": x2,
"height": y2
}
},
"3": {
"video_info": {
"width": x3,
"height": y3
}
}
}
}
上面的变量是通过从不同的对象(“subs”下的每个字典)中提取数据拼凑而成的,所以我不能从头开始将整个东西写成字典。 “subs”中的每个项目都已经有一个需要覆盖的宽度和高度值。
我见过的反序列化示例都有设置键。任何帮助将不胜感激。
【问题讨论】:
-
看起来不像是有效的 JSON。
-
欢迎来到stackoverflow! :) 首先在这里检查你的 json。 json.parser.online.fr
-
不管怎样,不清楚你在问什么,请提供输入/所需的输出/你的代码并解释什么不起作用。
-
抱歉,写得很快,没有为 JSON 使用正确的引号。我编辑了该部分并将更新所需的结果
-
您确实设置了键... 反序列化器当前是否抛出错误?或者您有困难解析?你已经用 Python 标记了这个问题,那么 Python 代码在哪里?
标签: python json python-2.7