Python中嵌套的json字典/字符串中的几个值

时间:2016-11-04 13:44:32

标签: python json dictionary node-red

我正在尝试构建一个json文件,该文件在嵌套字典中保存了几组坐标。这些应该是json字符串的框架,它们将是Node-Red中的节点中的变量,然后由python脚本使用,这里是字符串的示例:

koordinatstring = {
    "Coordinates":
    {
        "AllCoordinates":
        {
            "FirstCordinates":
            {
                "X": "1",
                "Y": "1"
            }
            "SecondCordinates":
            {
                "X": "2",
                "Y": "2"
            }
        }
    }
}

这不起作用。但是,只需查看一组变量,此结构就可以正常工作。

koordinatstring = {
    "Coordinates":
    {
        "AllCoordinates":
        {
            "FirstCordinates":
            {
                "X": "1",
                "Y": "1"
            }
        }
    }
}

我的问题是,当我在Node-Red中使用它们时,我应该如何以第一个示例的格式实际能够接受这两个值?

1 个答案:

答案 0 :(得分:5)

"FirstCordinates"阻止后添加逗号,如下所示:

"FirstCordinates":
{
    "X": "1",
    "Y": "1"
},

进一步说明: 在Python中,您可以像这样声明字典:

my_dict = { "key1": "value1" }

如果您有多个键/值对,请使用逗号分隔它们。

my_dict = { 
    "key1": "value1",
    "key2": "value2" 
}

不是将字符串"value1"作为key1的值,而是另一个字典!

my_dict = { 
    "key1": 
    {
        "subkey1": "subvalue1"
    },
    "key2": "value2" 
}

但总是,在键/值对之后,如果有另一个键/对,则必须使用逗号(如果它是最后一个,则不需要逗号,但它不会受到伤害)。

不是将字符串或字典作为值(如我们现在所示),而是可以是数字,列表或其他类型。