Python 树存储来自 json 输入文件的表达式

标签 python json tree

我有一个输入 json 文件,并尝试使用 python 将变量及其值存储在树中,然后将结果输出到文件中。 json 文件包含整数、表达式元组和集合。

我的 json 文件的一部分:

{
    "declaration-list" : [
    {
            "declared-variable" : "x0",
            "value" : 1
          },
    {
            "declared-variable" : "x1",
            "value" : 2
          },
    {
            "declared-variable" : "x2",
            "value" : {
                "operator" : "set",
                "arguments" : [
                    {
                        "variable" : "x0"
                      },
                    {
                        "variable" : "x1"
                      }
                  ]
              }
          },
    {
            "declared-variable" : "x3",
            "value" : {
                "operator" : "set",
                "arguments" : [
                    {
                        "operator" : "tuple",
                        "arguments" : [
                            1,
                            2
                          ]
                      },
                    {
                        "operator" : "tuple",
                        "arguments" : [
                            3,
                            4
                          ]
                      }
                  ]
              }
          },

 ]
}

该输入的输出应该是:

let x0 be 1;
let x1 be 2;
let x2 be {1, 2};
let x3 be {(1, 2), (3, 4)};

到目前为止,我所拥有的就是这些,但我不知道在哪里或如何开始将它们全部存储在树等中。

import json
from pprint import pprint

with open('input.json') as data_file:    
    data = json.load(data_file)

for x in data["declaration-list"]:
    print "let %s be %s" % ((x["declared-variable"]), (x["value"]))

data_file.close()

仅打印出例如正确地“让x0为1”,但甚至不记得它们。任何帮助将不胜感激

最佳答案

这是一个类(class)作业问题,我正在报告这个问题。

关于Python 树存储来自 json 输入文件的表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35213234/

相关文章:

python - "NotImplementedError: Use label() to access a node label"

python - 按行修改 pandas DataFrame 中的字符串

python - 这个 float 的小数部分的前 32 位是多少?

php - 更改数组中的键

java - android中反序列化json嵌套对象

java - 使用递归方法实现二叉树

python - 如何使用官方 Python 客户端从一个 Pod 中查找同一节点上的所有 Kubernetes Pod?

java - 安卓无法获取Json

haskell - Haskell 中的欧拉项目#18

tree - OCaml 选项值树