puthon怎么解析这段字符串,把里面的元素取出来呢

[{"color":"桃花灰","data":[{"size":"36","price":"1599.00"},{"size":"36.5","price":"1599.00"},{"size":"37","price":"1599.00"},{"size":"37.5","price":"1599.00"},{"size":"38","price":"1599.00"},{"size":"38.5","price":"1599.00"},{"size":"39","price":"1599.00"},{"size":"39.5","price":"1599.00"},{"size":"40","price":"1599.00"},{"size":"41","price":"1599.00"}]},{"color":"太妃糖","data":[{"size":"36","price":"1599.00"},{"size":"36.5","price":"1599.00"},{"size":"37","price":"1599.00"},{"size":"37.5","price":"1599.00"},{"size":"38","price":"1599.00"},{"size":"38.5","price":"1599.00"},{"size":"39","price":"1599.00"},{"size":"39.5","price":"1599.00"},{"size":"40","price":"1599.00"},{"size":"41","price":"1599.00"}]},{"color":"黑black grill","data":[{"size":"36","price":"1599.00"},{"size":"36.5","price":"1599.00"},{"size":"37","price":"1599.00"},{"size":"37.5","price":"1599.00"},{"size":"38","price":"1599.00"},{"size":"38.5","price":"1599.00"},{"size":"39","price":"1599.00"},{"size":"39.5","price":"1599.00"},{"size":"40","price":"1599.00"},{"size":"41","price":"1599.00"}]},{"color":"海盐黑","data":[{"size":"36","price":"1599.00"},{"size":"36.5","price":"1599.00"},{"size":"37","price":"1599.00"},{"size":"37.5","price":"1599.00"},{"size":"38","price":"1599.00"},{"size":"38.5","price":"1599.00"},{"size":"39","price":"1599.00"},{"size":"39.5","price":"1599.00"},{"size":"40","price":"1599.00"},{"size":"41","price":"1599.00"}]}]


# 读取json格式文件内容为python对象
import json
import chardet

src_path = r'C:\Users\Lenovo\Desktop\1.json'

with open(src_path, 'rb') as f:
    content = f.read()
    result = chardet.detect(content)
    content = content.decode(encoding=result['encoding'])
lst_obj = json.loads(content)
for item in lst_obj:
    print(item['color'])
    data = item['data']
    print('data:')
    for dict_obj in data:
        print('\t', end='')
        for k, v in dict_obj.items():
            print(k, ':', v, end=' ')
        print()
    print()

img

img

img

仅供参考
https://www.runoob.com/python/python-json.html

# !/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author: Roc-xb
"""
import json

if __name__ == '__main__':
    json_str = '[{"color":"桃花灰","data":[{"size":"36","price":"1599.00"},{"size":"36.5","price":"1599.00"},{"size":"37","price":"1599.00"},{"size":"37.5","price":"1599.00"},{"size":"38","price":"1599.00"},{"size":"38.5","price":"1599.00"},{"size":"39","price":"1599.00"},{"size":"39.5","price":"1599.00"},{"size":"40","price":"1599.00"},{"size":"41","price":"1599.00"}]},{"color":"太妃糖","data":[{"size":"36","price":"1599.00"},{"size":"36.5","price":"1599.00"},{"size":"37","price":"1599.00"},{"size":"37.5","price":"1599.00"},{"size":"38","price":"1599.00"},{"size":"38.5","price":"1599.00"},{"size":"39","price":"1599.00"},{"size":"39.5","price":"1599.00"},{"size":"40","price":"1599.00"},{"size":"41","price":"1599.00"}]},{"color":"黑black grill","data":[{"size":"36","price":"1599.00"},{"size":"36.5","price":"1599.00"},{"size":"37","price":"1599.00"},{"size":"37.5","price":"1599.00"},{"size":"38","price":"1599.00"},{"size":"38.5","price":"1599.00"},{"size":"39","price":"1599.00"},{"size":"39.5","price":"1599.00"},{"size":"40","price":"1599.00"},{"size":"41","price":"1599.00"}]},{"color":"海盐黑","data":[{"size":"36","price":"1599.00"},{"size":"36.5","price":"1599.00"},{"size":"37","price":"1599.00"},{"size":"37.5","price":"1599.00"},{"size":"38","price":"1599.00"},{"size":"38.5","price":"1599.00"},{"size":"39","price":"1599.00"},{"size":"39.5","price":"1599.00"},{"size":"40","price":"1599.00"},{"size":"41","price":"1599.00"}]}]'
    items = json.loads(json_str)
    for item in items:
        # 取color
        print(item['color'])
        # 取data
        print(item['data'])
        # 如果要继续取,安装这种格式往下取即可
        print(item['data'][0]['price'])

img

1

img