JSON返回字符串的写法

JSON的全称是JavaScript Object Notation,即JavaScript对象符号,它是一种轻量级、跨平台、跨语言的数据交换格式,其设计意图是把所有事情都用设计的字符串来表示,这样既方便在互联网上传递信息,也方便人进行阅读。

JSON主要有两种数据结构:

  • 由kye-value对组成的数据结构。这种数据结构在不同的语言中有不同的实现。例如在Python中是一种dict对象;在C语言中是一个struct;在其他语言中,则可能是record等。
  • 有序集合。这种数据结构在Python中对应于列表list;在其他语言中,可能对应于list等。

kye-value对组成的数据结构(对应Python中字典dict)

方法一:

    data = {}
    result_data = {}
    data['name'] = 'John'
    data['age'] = 15
    result_data['result'] = 'OK'
    result_data['message'] = 'success'
    result_data['data'] = data
    s = json.dumps(result_data)
    print(type(s), s)

在这里插入图片描述

方法二:

    s1 = '{"result":"OK", "message":"success", "data":{"name":"jone", "age":"15"}}'
    print(type(s1), s1)
    response = json.loads(s1)
    print(response)

在这里插入图片描述

有序集合(对应Python中列表list)

    book_list1 = [{'imgs_name':['1_1.jpg', '1_2.jpg', '1_3.jpg'], 'imgs_w':[1080, 720, 640], 'imgs_h':[1440, 1080, 640]}, {'imgs_name':['1_1.jpg', '1_2.jpg', '1_3.jpg'], 'imgs_w':[1080, 720, 640], 'imgs_h':[1440, 1080, 640]}]
    print('book_list1(list->json):', type(book_list1), book_list1)
    book_json1 = json.dumps(book_list1)
    print('book_json1(list->json):', type(book_json1), book_json1)
    # not the same
    #book_json2 = '[{"imgs_name":["1_1.jpg","1_2.jpg","1_3.jpg"],"imgs_w":["1080","720","640"],"imgs_h":["1440","1080","640"]},{"imgs_name":["1_1.jpg","1_2.jpg","1_3.jpg"],"imgs_w":["1080","720","640"],"imgs_h":["1440","1080","640"]}]'
    # not the same 
    #book_json2 = '[{"imgs_name": ["1_1.jpg", "1_2.jpg", "1_3.jpg"], "imgs_w": ["1080", "720", "640"], "imgs_h": ["1440", "1080", "640"]}, {"imgs_name": ["1_1.jpg", "1_2.jpg", "1_3.jpg"], "imgs_w": ["1080", "720", "640"], "imgs_h": ["1440", "1080", "640"]}]'
    # same
    book_json2 = '[{"imgs_name": ["1_1.jpg", "1_2.jpg", "1_3.jpg"], "imgs_w": [1080, 720, 640], "imgs_h": [1440, 1080, 640]}, {"imgs_name": ["1_1.jpg", "1_2.jpg", "1_3.jpg"], "imgs_w": [1080, 720, 640], "imgs_h": [1440, 1080, 640]}]'
    # shell input format
    #book_json_input = [{\"imgs_name\":[\"1_1.jpg\",\"1_2.jpg\",\"1_3.jpg\"],\"imgs_w\":[\"1080\",\"720\",\"640\"],\"imgs_h\":[\"1440\",\"1080\",\"640\"]},{\"imgs_name\":[\"1_1.jpg\",\"1_2.jpg\",\"1_3.jpg\"],\"imgs_w\":[\"1080\",\"720\",\"640\"],\"imgs_h\":[\"1440\",\"1080\",\"640\"]}]
    print('book_json2(json->list):', type(book_json2), book_json2)
    book_list2 = json.loads(book_json2)
    print('book_list2(json->list):', type(book_list2), book_list2)
    print('book_list2[0](json->list):', book_list2[0])

    from difflib import Differ
    d = Differ()
    diff = d.compare(book_json1.splitlines(), book_json2.splitlines())
    print('\n'.join(list(diff)))
    if book_json1 == book_json2:
        print('book_json1 and book_json2 is the same!')
    else:
        print('book_json1 and book_json2 is not the same!')

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值