如何在Linux命令行上使用Python访问JSON元素而不使用jq?[已关闭]

j9per5c4  于 2023-03-31  发布在  Linux
关注(0)|答案(1)|浏览(143)

**已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。

这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
昨天关门了。
Improve this question
我们有一个这样的json输出:

[
      {
        "o1": {
          "a1": "1",
          "a2": "2",
          "a3": 3 
        },
        "o2": 4,
        "o3": 3
      },
      {
        "o1": null,
        "o2": 12,
        "o3": 13
      },
      {
        "o1": {
          "a1": "7",
          "a2": "8",
          "a3": 9 
        },
        "o2": 10,
        "o3": 11
      }
    ]

我们试过了

cat json.file | python -c 'import sys, json; print(json.load(sys.stdin)[0]["o2"])

它不适用于第一部分问题(第一个元素o 1:o2?)
我们怎么才能进入-

  • 第一个元素o 1:a1?
  • 第一元素o 1:o2?
  • 第二个元素o 1:a1?
  • 第二个元素o 1:o2?
b0zn9rqh

b0zn9rqh1#

字典中的一些键值后面缺少逗号。应该是这样的:

[
      {
        "o1": {
          "a1": "1",
          "a2": "2",
          "a3": 3 
        },
        "o2": 4,
        "o3": 3
      },
      {
        "o1": null,
        "o2": 12,
        "o3": 13
      },
      {
        "o1": {
          "a1": "7",
          "a2": "8",
          "a3": 9 
        },
        "o2": 10,
        "o3": 11
      }
    ]

相关问题