在 python 中创建 JSON 个对象

Make JSON Object in python

我想在 python 中创建 JSON 对象,如下所示:

{
"to":["admin"],
"content":{
           "message":"everything",
           "command":0,
           "date":["tag1",...,"tagn"]
           },
"time":"YYYYMMDDhhmmss"
}

这是我在 python 中的代码:

import json

cont = [{"message":"everything","command":0,"data":["tag1","tag2"]}]
json_content = json.dumps(cont,sort_keys=False,indent=2)
print json_content

data = [{"to":("admin"),"content":json_content, "time":"YYYYMMDDhhmmss"}]
json_obj = json.dumps(data,sort_keys=False, indent =2)

print json_obj

但我得到的结果是这样的:

[
  {
    "content": "[\n  {\n    \"data\": [\n      \"tag1\", \n      \"tag2\"\n    ], \n    \"message\": \"everything\", \n    \"command\": 0\n  }\n]", 
    "to": "admin", 
    "time": "YYYYMMDDhhmmss"
  }
]

有人可以帮助我吗?谢谢

嵌套json内容

json_content 是第一次调用 json.dumps() 返回的 json 字符串表示,这就是为什么你在第二次调用 [=15] 时得到内容的字符串版本=].将原始内容cont直接放入data.

后,整个python对象需要调用一次json.dumps()
import json

cont = [{
    "message": "everything",
    "command": 0,
    "data"   : ["tag1", "tag2"]
}]

data = [{
    "to"      : ("admin"), 
    "content" : cont, 
    "time"    : "YYYYMMDDhhmmss"
}]
json_obj = json.dumps(data,sort_keys=False, indent =2)

print json_obj

[
  {
    "content": [
      {
        "data": [
          "tag1", 
          "tag2"
        ], 
        "message": "everything", 
        "command": 0
      }
    ], 
    "to": "admin", 
    "time": "YYYYMMDDhhmmss"
  }
]