【问题标题】:I am loading JSON data from a file. then trying to decode one of the value corresponding to a Key我正在从文件加载 JSON 数据。然后尝试解码与 Key 对应的值之一
【发布时间】:2019-08-12 07:49:19
【问题描述】:

我在下面的行中遇到错误

for i in split_json:
        read_values = json.loads(i + "]",strict = False)

split_json 的数据格式为

[[{"Key1":"Value1"},
[{"Key2":"Value2"}]

该值以'[' 开头,但不以']' 结尾。所以我在调用json.loads()时填充']'

我在上面提到的代码中遇到了这个错误。我的数据框是正确的。

raise JSONDecodeError("Expecting value", s, err.value) from None

JSONDecodeError: Expecting value

【问题讨论】:

  • 您在第一项中缺少另一个右括号 ]
  • @palvarez 我在加载 json 时使用“]”。这样就不需要了。
  • 这看起来很像XY problem。您必须修复正在阅读的 json,甚至更好:首先不要拆分 json 并使用单个 json.loads 调用。你能解释一下拆分的必要性吗?

标签: json python-3.x pandas


【解决方案1】:

您的输入为:

[[{"Key1":"Value1"}, [{"Key2":"Value2"}]

并假设您正在填充一个],但是该 JSON 对象实际上有两个错误,正确的对象看起来像这样:

[[{"Key1":"Value1"}], [{"Key2":"Value2"}]]

(在"Value1"}之后添加一个],在最后添加另一个)

或者看起来像这样:

[[{"Key1":"Value1"}, {"Key2":"Value2"}]]

(删除{"Key2"之前的[,并在最后添加一个)

【讨论】:

    猜你喜欢
    • 2020-08-07
    • 1970-01-01
    • 1970-01-01
    • 2016-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-25
    • 1970-01-01
    相关资源
    最近更新 更多