传入字典而不是数组

Less than 1 minute

传入字典而不是数组

整体是一个字典

data = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
# data = [{'a': 1}, {'b': 2}, {'c': 3}, {'d': 4}, {'e': 5}] 列表是错的
json_str = json.dumps(data)

json字符串和字典的区别

json字符串:

  1. 这是字符串, 而不是字典类型
  2. True变成true
m = {'f':True}

print(m)
# {'f': True}

print(json.dumps(m))
# '{"f": true}'
  1. 里面必须是双引号, 而不是单引号
{"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}
  1. json的对象不能以逗号结尾

    错误的

{
  "name": "Roman",
}

json中不能有注释

// comment
{
  "key": "value" // comment
}

解法: 使用字段key加前缀做注释key

例如加入属性的key是xyz, 则?xyz作为注释字段。这样的好处是,没有重名的字段,完全符合JSON协议。常用的前缀还有#, _, __

{
  "name": "Roman",
  "?name": "defines a nickname"
}