python 中 json 和 dict的使用 (区别) 字符串转json 字符串转字典

相同点

  • 都是键值对
  • 转换字符串到对象时,字符串中转义字符(比如 "\r\n" or ""abc"")需要像这样表示:"\r\n" or "\"abc\""
  • 字符串除了键值对不能有其它字符,比如代码注释! ‘#’

不同点

  • json key不能使用单引号,字典可以
  • json可以解析用''' '''括起来的字符块字符串(json.load(str)),字典只用 eval函数进行字符串到字典的转换则会报错,要使用字符块,可以将字符串的'\n'替换为' '再转换为字典对象即可。
    e.g.
       import json


        user = '''
        {
        "name" : "jim\\r\\n",
         "sex" : "male", 
         "age": 18
        }
        '''
        print(user)
        jsonUser = json.loads(user)
        print(jsonUser["name"].encode())
        user = '''
        {
        "name" : "jim\\r\\n",
         "sex" : "male", 
         "age": 18
        }
        '''
        print(user)
        user = user.replace("\n", " ")
        eval_user_info = eval(user)
        print(eval_user_info["name"].encode())

结果为:


        {
        "name" : "jim\r\n",
         "sex" : "male", 
         "age": 18
        }
        
b'jim\r\n'

在使用字符串转换到它们时,要特别注意字符串的格式。

你可能感兴趣的:(python 中 json 和 dict的使用 (区别) 字符串转json 字符串转字典)