【发布时间】:2021-12-19 01:33:20
【问题描述】:
我有一个 JSON 字符串,例如:
{
"result":
{
"event": {"date": "12/12/13", "desc": "test1"},
"event": {"date": "12/12/14", "desc": "test2"},
"event": {"date": "12/12/15", "desc": "test3"}
},
"result":
{
"event": {"date": "12/12/13", "desc": "test5"},
"event": {"date": "12/12/14", "desc": "test6"},
"event": {"date": "12/12/15", "desc": "test7"}
}
}
我想在所有结果中获取每个事件的所有日期和描述,怎么做?
【问题讨论】:
-
我有一个 JSON 字符串 - 不,你没有 JSON,因为它不是有效的。
-
@buran 似乎有点灰色地带 -- stackoverflow.com/questions/21832701/… -- 但你是对的,因为规范 recommends,大多数解析器都不允许这样做防止重复键。
-
在这种情况下我要做的是使用文本编辑器(或简单脚本)将第一个和最后一个
{ }更改为[ ]并删除显示"result":的行。现在您有了一个可以导入和处理的有效 JSON 列表。 -
@BrendanAbel 是的,我同意这有点灰色地带。但正如在同一链接中提到的,如果对象中有重复的名称字符串,则应覆盖同一键的词法前面的值。即最后一次获胜。用
json模块解析不会出错,但也不会得到所有的值。