Json语法的总结

简介: Json语法的总结

图片的复制 注意文件要使用二进制

    涉及到文字处理 一般用 字符操作
    涉及到非文字处理,图片视频 :二进制操作
    分析:
        1.读取要复制的图片文件 rb
        2.写入一个新的图片文件  wb

    文件不是必须放到代码的目录下,写道其他地方也可以.路径一定要写清楚.

"""
imgFile = open("微信图片_20200309223043.jpg",mode="rb")
rImgFile = open("育华致远Logo.jpg",mode="wb")

rImgFile.write(imgFile.read())

imgFile.close()
rImgFile.close()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
python中有一个文件操作模块 os

    1.修改文件名称
    2.删除文件
    3.创建文件夹
    4.获取当前目录
    5.当前目录下的所有文件以及文件夹
    6.删除文件夹

"""
import os

修改文件名称 第一个参数 修改的文件名称 第二个是新名称

try:

os.rename("test.txt","修改之后的文件名.txt")

except Exception as e:

print(e)

删除文件 remove

os.remove("修改之后的文件名.txt")

创建文件夹 mkdir

os.mkdir("os")

获取当前目录 getcwd D:\育华志远工作资料\C2002A授课资料\Day21_Python文件操作及异常处理-上午\02_代码

path = os.getcwd();
print(path)

当前目录下的所有文件以及文件夹 listdir

dirlist = os.listdir()
print(dirlist)

获取绝对路径下的所有文件信息 listdir函数中指定一个文件夹路径

dirList2 = os.listdir("D:\育华志远工作资料\C2002A授课资料\代码")
print(dirList2)

删除指定文件夹

os.rmdir("os")

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
JSON的数据结构组成:本质上就是按照规定格式组成的字符串

    列表: 中括号 中多个字典类型元素用逗号隔开  JSON数组
    [{"name":"IPhone","price":5800},{"name":"HuaWei","price":5300},{"name":"XiaoMi","price":3500}]
    字典: 大括号中包含多组key-value{}   JSON对象
        key:字符串类型
        value:字符串 数值  bool 列表/字典/
        {"name":"IPhone","price":5800}


    JSON:方便数据在不同的系统或者编程中解析

    python2 和 python3 差异非常大.

python3中的json模块
    json.dumps(): 对数据进行编码。-----------字典或列表转换为字符串
    json.loads(): 对数据进行解码----------字符串转字典或者列表。

"""
import json

dist = {"name":"IPhone","price":5800}

将字典对象转换为json字符串

jsonStr = json.dumps(dist)
print(type(jsonStr))

将列表对象转换为json字符串

list = [{"name":"IPhone","price":5800},{"name":"HuaWei","price":5300},{"name":"XiaoMi","price":3500}]
jsonStr2 = json.dumps(list)
print(type(jsonStr2))

distStr = '{"name":"IPhone","price":5800}'

将json字符串转换为字典对象

distResult = json.loads(distStr)
print(type(distResult))

listStr ='[{"name":"IPhone","price":5800},{"name":"HuaWei","price":5300}]'
listResult = json.loads(listStr)
print(type(listResult))

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
通过控制台输入一个列表的json字符串,将其转换为一个列表并将元素输出到指定文件下.

1.控制台输入一个列表字符串json
2.转换为列表
3.创建文件对象
4.遍历列表
5.把每个对象写入到文件中

"""
import json

if name == '__main__':

jsonStr = input("请您输入一个Json字符串列表\n")
if jsonStr !="":
   resultList = json.loads(jsonStr)
   file = open("手机.json",mode="w",encoding="UTF-8")
   for m in resultList:
        content = m["name"]+"价格为:"+m["price"]+"\n"
        file.write(content)
   file.close()



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
使用代码在桌面创建一个文件夹,然后键盘录入学生信息,以字典的形式保存到文件中。

1.在桌面创建一个目录 :此时用绝对路径实现比较好
2.需要键盘录入学生信息
3.以字典的形式输出到一个文件中 {"key":value}

"""
import os
path = "C:\Users\soulstare\Desktop\homework"

C:\Users\soulstare\Desktop

os.mkdir(path)

name = input("请输入学生的姓名")
age = input("请输入学生的年龄")

dict = {"name":name,"age":age} # 不加双引号表示的是字符串 加双引号是变量

file = open(path+"\student.txt",mode="w",encoding="UTF-8")
file.write("学生的姓名为:"+dict["name"]+"学生的年龄是:"+dict["age"])
file.close()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
将以下json字符串转换为python对象: 菜谱
要求:将字符串中做红烧肉的步骤提取出来
分析:

第一步:读取文件内容  json字符串
第二步:通过json模块转换为python对象


如果要看json的数据最好使用json工具: jsonview
"""
import json

file = open("菜谱.json",mode="r",encoding="UTF-8")
jsonStr = file.read()

pyObj = json.loads(jsonStr)

拿到result中的数据

result = pyObj.get("result")
print(result)

拿到data列表

dataList = result.get("data")
print(dataList)

循环遍历list

for r in dataList:

print(r.get("title"))
steps = r.get("steps")
for s in steps:
    print(s.get("step"))

file.close()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
"error_code": 0,

"reason": "Success",
"result": {
    "data": [
        {
            "albums": [
                "http://img.juhe.cn/cookbook/t/0/45_854851.jpg"
            ],
            "burden": "玫瑰腐乳,适量;盐,适量;八角,适量;草果,适量;香叶,适量;料酒,适量;米醋,适量;生姜,适量",
            "id": "45",
            "imtro": "做红烧肉的豆亲们很多,大家对红烧肉的热爱更不用我说,从名字上就能反映出来。一些高手们对红烧肉的认识更是令我佩服,单单就红烧肉的做法、菜谱都看得我是眼花缭乱,口水横流。单纯的红烧肉我平时还真没做过,再不抓紧时间做一回解解馋,不是对不起别人,而是太对不起我自己了! 这道菜的菜名用了秘制二字来形容,当然是自己根据自己多年吃货的经验想象出来的,我不介意把自己的做法与大家共享,只为大家能同我一样,吃到不同口味的红烧肉。不同的人们根据自己的习惯都有不同的做法,味道也不尽相同。我的秘制的关键就是必须用玫瑰腐乳、冰糖和米醋这三种食材,腐乳和冰糖可以使烧出来的肉色泽红亮,米醋能解腻,令肥肉肥而不腻,此法烧制的红烧肉软糯中略带咸甜,的确回味无穷!",
            "ingredients": "五花肉,500g",
            "steps": [
                {
                    "img": "http://img.juhe.cn/cookbook/s/1/45_0824e37faf00b71e.jpg",
                    "step": "1.将五花肉煮至断生状态"
                },
                {
                    "img": "http://img.juhe.cn/cookbook/s/1/45_b6d7329b703f6e85.jpg",
                    "step": "2.切成大小一致的块"
                },
                {
                    "img": "http://img.juhe.cn/cookbook/s/1/45_6ee9e8dab0516333.jpg",
                    "step": "3.放在锅内煎"
                }
            ],
            "tags": "家常菜;热菜;烧;煎;炖;红烧;炒锅",
            "title": "秘制红烧肉"
        },
        {
            "albums": [
                "http://img.juhe.cn/cookbook/t/1/52_759155.jpg"
            ],
            "burden": "葱,适量;姜,适量;蒜,适量;八角,2粒;桂皮,1块;干辣椒,1个;酱油,适量;冰糖,适量;盐,适量;料酒,适量",
            "id": "52",
            "imtro": "红烧肉是热菜菜谱之一,以五花肉为制作主料,红烧肉的做法各地也会稍有不同。南方习惯用酱油(老抽)调色,而北方则偏爱炒糖色儿,红烧肉也是我拿手菜之一,不管是逢年过节还是亲朋聚会都不会少了诱人的红烧肉。红烧肉的特点;浓油赤酱,肥而不腻,入口酥软即化。",
            "ingredients": "五花肉,1000g",
            "steps": [
                {
                    "img": "http://img.juhe.cn/cookbook/s/1/52_b02a6aa276e3352f.jpg",
                    "step": "1.五花肉洗净切成大块。"
                },
                {
                    "img": "http://img.juhe.cn/cookbook/s/1/52_0cfde36e8061dd9c.jpg",
                    "step": "2.冷水把肉下锅烧开,把肉焯水。"
                },
                {
                    "img": "http://img.juhe.cn/cookbook/s/1/52_4bbe9a903c8b144e.jpg",
                    "step": "3.准备好 八角 桂皮 葱姜蒜 辣椒。"
                }
            ],
            "tags": "家常菜;咸;半小时-1小时;孕妇;青少年;老人;白领;晚餐;红烧;营养;增强抵抗力;全菜系;1-2人;待客菜;锅子",
            "title": "经典红烧肉"
        }
    ],
    "pn": "1",
    "rn": "3",
    "totalNum": "306"
},
"resultcode": "200"
相关文章
|
7月前
|
存储 JSON 前端开发
JSON数组的概念、语法和用法
JSON数组的概念、语法和用法
1235 3
|
6月前
|
JSON 关系型数据库 MySQL
实时计算 Flink版产品使用问题之在使用CDAS语法同步MySQL数据到Hologres时,如果开启了字段类型宽容模式,MySQL中的JSON类型会被转换为什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
5月前
|
JSON Java 数据格式
前后端数据交换,JSON基础语法和JSON数据和Java对象转换,最快的对象转换,JSON{““}字符串如何写User{id=1,username=‘zhangsan‘,password=‘123‘}
前后端数据交换,JSON基础语法和JSON数据和Java对象转换,最快的对象转换,JSON{““}字符串如何写User{id=1,username=‘zhangsan‘,password=‘123‘}
|
7月前
|
JSON 数据格式 索引
python之JMESPath:JSON 查询语法库示例详解
python之JMESPath:JSON 查询语法库示例详解
77 0
|
7月前
|
存储 JSON 安全
JSON 语法详解:轻松掌握数据结构(下)
JSON 语法详解:轻松掌握数据结构(下)
JSON 语法详解:轻松掌握数据结构(下)
|
7月前
|
存储 JSON 前端开发
JSON 语法详解:轻松掌握数据结构(上)
JSON 语法详解:轻松掌握数据结构(上)
JSON 语法详解:轻松掌握数据结构(上)
|
7月前
|
JSON JavaScript 前端开发
JSON 语法是怎么样的呢?
JSON 语法是怎么样的呢?
75 2
|
7月前
|
JSON JavaScript 前端开发
JSON概念、基础语法及数据和对象转换
JSON概念、基础语法及数据和对象转换
68 0
|
JSON 前端开发 数据格式
前端知识案例98-javascript基础语法-Json对象介绍
前端知识案例98-javascript基础语法-Json对象介绍
72 0
前端知识案例98-javascript基础语法-Json对象介绍
|
存储 XML JSON
你不容错过的JavaScript高级语法(JSON细析, 浏览器数据存储)
你不容错过的JavaScript高级语法(JSON细析, 浏览器数据存储)