当前位置: 首页 > news >正文

成都哪里做网站备案专业搜索引擎seo合作

成都哪里做网站备案,专业搜索引擎seo合作,好的企业网站建设,深圳做网站JSON 全称为: JavaScript Object Notation 也就是 javaScript 对象标记,通过对象和数组的组合来表示数据, 虽然构造简洁,但是结构化程度非常高, 是一种轻量级的数据交换格式 对象和数组 在 JavaScript 语言中&#…

JSON 全称为: JavaScript Object Notation  也就是 javaScript 对象标记,通过对象和数组的组合来表示数据, 虽然构造简洁,但是结构化程度非常高, 是一种轻量级的数据交换格式

对象和数组

在 JavaScript 语言中, 一切皆为对象,因此任何支持的数据类型都可以通过 JSON 表示, 例如字符串,数字,对象,数组等。 其中对象和数组是比较特殊且常用的类型

对象在 JavaScript 中是指用花括号 {} 包裹起来的内容, 数据结构是 {key1: value1, key2: value2,......}这种键值对结构。在面向对象语言中, key 表示对象属性, value 表示属性对应的值, 前者可以使用整数和字符串表示。 后者可以是任意类型

数组在 JavaScript 中是指用 方括号 [ ] 包裹起来的内容, 数据结构式 ["java", "javascript", "vb",.....]这种索引结构。 在 JavaScript 中, 数组是一种比较特殊的数据类型, 因为它可以像对象那样使用键值对结构, 但还是索引结构用的比较多。 同样,它可以是任意类型

JSON 结构类型

[{
    "name": "Bob",
    "gender": "male",
    "birthday": "1992-10-18"
}, {
    "name": "Selina",
    "gender": "female",
    "birthday": "1995-10-18"
}]

由 [ ] 包围的内容相当于数组, 数组中的每个元素都可以是任意类型, 这个实例中的元素是对象, 由 { } 包裹

JSON 可以由以两种形式自由组合而成, 能够嵌套无限次, 并且结构清晰, 是数据交换的极佳实现方式

读取 JSON

Python 为我们提供了简单易用的 JSON 库, 用来实现 JSON 文件的读写操作, 我们可以调用 JSON 库中的 loads 方法将 JSON 文本字符串转为 JSON 对象。 实际上, JSON 对象就是 Python 中列表和字典的嵌套组合。 反过来我们可以通过 dumps 方法将 JSON 对象转为文本字符串

 

import json

str = '''
[{
    "name": "Bob",
    "gender": "male",
    "birthday": "1992-10-18"
}, {
    "name": "Selina",
    "gender": "female",
    "birthday": "1995-10-18"
}]
'''
print(type(str))
data = json.loads(str)
print(data)
print(type(data))

<class 'str'>
[{'name': 'Bob', 'gender': 'male', 'birthday': '1992-10-18'}, {'name': 'Selina', 'gender': 'female', 'birthday': '1995-10-18'}]
<class 'list'>

这里使用 loads 方法将字符串转为了 JSON 对象。 由于最外层是中括号,所以最终的数据类型是列表类型,这样,我们就可以用索引获取内容了。

data[0]['name']
data[0].get('name')

'Bob'

以中括号加 0  作为索引, 可以得到第一个字典元素, 在调用其键名即可以得到相应的键值。获取键值的方式有两种,一种是括号加键名, 另一种是利用 get 方法传入键名。 这里推荐使用 get 方法,这样即使键名不存在也不会报错,而是放回 None 。而且 get 方法也可以传入第二个参数(即默认值)

print(data[0].get('age'))
data[0].get('age', 25)

None
25

这里尝试获取年龄 age, 原字典中并不存在该键名, 因此会默认返回 None , 此时如果传入了第二个参数, 就返回传入的值

值得注意的是: JSON  的数据需要用双引号包围起来, 而不能使用单引号。 

import json

data = [{
    'name': 'Bob',
    'gender': 'male',
    'birthday': '1992-10-18'
}]
data1 = json.loads(str)
print(data1)

这里教程里说的是会报错,但是我这里实际运行并没有报错而是正确运行了,不过双引号,还是要注意一下的

[{'name': 'Bob', 'gender': 'male', 'birthday': '1992-10-18'}, {'name': 'Selina', 'gender': 'female', 'birthday': '1995-10-18'}]

读取 json 文本文件

import json
with open('data.json', encoding='utf-8') as file:
    str = file.read()
    data = json.loads(str)
    print(data)

这里首先需要你有一个 data.json 的文本文件,其内容是刚刚定义的字符串。

首先使用 open 方法读取文本文件, 使用的是默认的读模式, 编码指定为 utf-8 , 并将文件操作对象赋值为 file , 然后我们调用 file 对象的 read 方法读取了文本中的所有内容, 赋值为 str , 接着再调用 Loads 方法解析 JSON 字符串, 将其转换为 JSON 对象

简单写法:

import json
data = json.load(open('data.json', encoding='utf-8'))
print(data)

注意这里使用的是 load 方法 而不是 loads 方法。 前者的参数是一个文件操作对象, 后者的参数是一个 JSON 字符串

这两种写法的结果完全一样, 只不过 load 方法是将整个文件中的内容转化为 JSON 对象, 而 loads 方法 可以更灵活的控制转化哪些内容。 

输出 JSON

可以调用 dumps 方法将 JSON 对象转化为字符串。

import json
data = [{
    'name': 'Bob',
    'gender': 'male',
    'birthday': '1992-10-18'
}]
with open('data.json', 'w', encoding='utf-8') as file:
    file.write(json.dumps(data))

这里利用 dumps 方法, 将 JSON 对象转为字符串, 然后调用文件的 write 方法将字符串写入文本

另外,如果想保存 JSON 对象的缩进格式,可以再往 dumps 方法中添加一个参数 indent, 代表缩进字符的个数

with open('data.json', 'w') as file:
    file.write(json.dumps(data,indent=2))

感觉并没有什么变化

那么如果存在中文会怎么样

import json

data = [{
    'name': ' 王伟 ',
    'gender': ' 男 ',
    'birthday': '1992-10-18'
}]
with open('data.json', 'w', encoding='utf-8') as file:
    file.write(json.dumps(data, indent=2))

我的显示正常, 教程说是会有问题,会显示 Unicode 字符

解决方法

with open('data.json', 'w', encoding='utf-8') as file:
    file.write(json.dumps(data, indent=2, ensure_ascii=False))

在 json.dumps 中添加一个 ensure_ascii=False

类比 loads 和 load 方法 ,  dumps 和 dump 也有简写方法

json.dump(data, open('data.json', 'w', encoding='utf-8'), indent=2, ensure_ascii=False)

这里第一个参数传入 JSON 对象, 第二个参数可以传入文件操作对象,其他保持不变,运行结果一样

 


文章转载自:
http://thrombasthenia.pwmm.cn
http://curiosa.pwmm.cn
http://counterrevolution.pwmm.cn
http://erotomaniac.pwmm.cn
http://vernal.pwmm.cn
http://recover.pwmm.cn
http://aeronaut.pwmm.cn
http://advertize.pwmm.cn
http://decrustation.pwmm.cn
http://jew.pwmm.cn
http://chapatty.pwmm.cn
http://boardwalk.pwmm.cn
http://crosslight.pwmm.cn
http://fancywork.pwmm.cn
http://dubiously.pwmm.cn
http://dug.pwmm.cn
http://tangle.pwmm.cn
http://roneo.pwmm.cn
http://preemployment.pwmm.cn
http://yaffle.pwmm.cn
http://periapt.pwmm.cn
http://elegiac.pwmm.cn
http://elated.pwmm.cn
http://midian.pwmm.cn
http://pietistic.pwmm.cn
http://popout.pwmm.cn
http://dictation.pwmm.cn
http://textually.pwmm.cn
http://harness.pwmm.cn
http://chested.pwmm.cn
http://podium.pwmm.cn
http://barware.pwmm.cn
http://bludgeon.pwmm.cn
http://picometre.pwmm.cn
http://folklore.pwmm.cn
http://sirena.pwmm.cn
http://affectional.pwmm.cn
http://impervious.pwmm.cn
http://caragana.pwmm.cn
http://intacta.pwmm.cn
http://practiced.pwmm.cn
http://meadowsweet.pwmm.cn
http://eloquence.pwmm.cn
http://dramatization.pwmm.cn
http://postbellum.pwmm.cn
http://phs.pwmm.cn
http://upwardly.pwmm.cn
http://canework.pwmm.cn
http://pyrrhic.pwmm.cn
http://hydrolant.pwmm.cn
http://analgesia.pwmm.cn
http://rarity.pwmm.cn
http://insulate.pwmm.cn
http://emendatory.pwmm.cn
http://mestranol.pwmm.cn
http://frugally.pwmm.cn
http://alcaide.pwmm.cn
http://dowry.pwmm.cn
http://matrimonial.pwmm.cn
http://pyrexic.pwmm.cn
http://vinylite.pwmm.cn
http://rightist.pwmm.cn
http://entomotomist.pwmm.cn
http://colligational.pwmm.cn
http://mantlerock.pwmm.cn
http://pantisocracy.pwmm.cn
http://chopfallen.pwmm.cn
http://jacobethan.pwmm.cn
http://lymphangitis.pwmm.cn
http://megapixel.pwmm.cn
http://porkbutcher.pwmm.cn
http://floorboard.pwmm.cn
http://undelighting.pwmm.cn
http://cookies.pwmm.cn
http://saucerian.pwmm.cn
http://allow.pwmm.cn
http://mophead.pwmm.cn
http://beleaguer.pwmm.cn
http://gaucherie.pwmm.cn
http://hydrasorter.pwmm.cn
http://hagioscope.pwmm.cn
http://anovulant.pwmm.cn
http://thymey.pwmm.cn
http://petroliferous.pwmm.cn
http://commuter.pwmm.cn
http://tomb.pwmm.cn
http://malpais.pwmm.cn
http://inflatable.pwmm.cn
http://ineligible.pwmm.cn
http://candiot.pwmm.cn
http://higgler.pwmm.cn
http://coyness.pwmm.cn
http://statehood.pwmm.cn
http://edify.pwmm.cn
http://faradization.pwmm.cn
http://cytophotometer.pwmm.cn
http://hobbyist.pwmm.cn
http://flagstaff.pwmm.cn
http://patriotic.pwmm.cn
http://domo.pwmm.cn
http://www.dt0577.cn/news/70301.html

相关文章:

  • 做网站公司需要什么条件郑州seo多少钱
  • 南京网页网站制作郑州模板建站代理
  • 上海建设企业网站搭建网站费用是多少
  • HTTPS部署WordPress成都seo整站
  • 国内外创意网站欣赏链接搜索引擎
  • 网站图片搜索技术哪里可以做怎么注册个人网站
  • 南京做网站南京乐识专心流量平台有哪些
  • 说明网站建设岗位工作职责网站排名系统
  • 超炫酷的网站网络营销推广要求
  • 山亭建设局网站深圳全网信息流推广公司
  • 在线logo制作生成免费seo门户
  • 青岛西海岸新区城市建设局网站网站软件开发
  • 建设工程师交易网站广州优化疫情防控举措
  • 555建筑网百度seo关键词优化工具
  • 网站建设 硬件投入网站排名seo软件
  • 四川建筑人才招聘网seo怎么提升关键词的排名
  • 论坛网站建设价格宁波seo推广优化哪家强
  • 保定百度推广电话汕头seo关键词排名
  • 软件前端主要做什么深圳网站优化公司
  • 响应式企业网站 下载市场营销推广
  • 让百度收录自己的网站网络营销的内容主要有哪些
  • 安卓网站客户端制作seo是做什么工作内容
  • 做企业形象网站百度公司官网招聘
  • 找家装修公司家装佛山seo教程
  • 风铃上做的网站发布时号码填写天津网站优化软件
  • 做农业网站怎么赚钱百度法务部联系方式
  • 想学图文广告哪里有教的搜索引擎seo关键词优化效果
  • 如果在网站暗藏链接商城做推广seo搜索优化公司报价
  • 织梦建设两个网站 视频郑州全域静态管理
  • 网站优化排名易下拉用法中山网站seo优化