找回密码
 立即注册

QQ登录

只需一步,快速开始

吴小胖 讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-11-8 13:24  /   查看:1820  /  回复:3
本帖最后由 吴小胖 于 2022-11-12 17:15 编辑

【勘误】
感谢谢厅大神的指点,原文中有一处写错了
image.png827245483.png
这里的表述不对,对象名称可以使用中文名,这是我自己的误解……现已纠正!为什么会出现这样不严谨的错误,是因为我最近在对接钉钉、企业微信的时候,他们给出的文档里都是英文……所以……这是我的错,错了就要改!再次鞠躬感谢谢厅大神的批评指正!

最近有很多格友在论坛、QQ群、微信群里提问如何处理服务端返回的json语句。首先呢,我们要先搞清楚什么是json?

image.png841112975.png
我用大白话来说:就是传递信息用的一种格式,这种格式有两种语法规则:对象及数组。(json都有对象了,龇牙看这篇教程的你是不是还是单身狗
对象里有名称和值,它们长这样
  1. {"name":"张三"}
复制代码
有些时候它也长这样:
  1. {
  2.      "name":"张三"
  3. }
复制代码
这两个完全是等价的,只不过是排版不同罢了。还要特别清楚一件事:json对象里的名称可以是中文也可以是英文,并且外面要填上英文模式下的双引号;后面的值可以是:
  1. 数字(整数或浮点数)
  2. 字符串(在双引号中)
  3. 逻辑值(true 或 false)
  4. 数组(在中括号中)
  5. 对象(在大括号中)
  6. null
复制代码
举个简单的例子:
我们要登记学生的信息,包括:姓名、性别、年龄、家庭住址、父母情况*、是否上过幼儿园
image.png313423156.png
如果我们要用json来传递这张表的信息就是这个样子的:
  1. {
  2.     "name":"",
  3.     "age":"",
  4.     "sex":"",
  5.     "add":"",
  6.     "kindergarten":""   
  7. }
复制代码
注意上文已经讲过了,json对象的名称可以是是中文也可以是英文。名称和值之间要使用英文模式下的冒号间隔,每个对象之间要使用英文模式下的逗号间隔。
我们再说回到这里面需要填写的值:
姓名,肯定是字符串类型,因此在外面要包裹一对英文模式下的双引号;
性别,我们可以用男、女来表示,亦可以用1、2来表示,如果使用文字那就参考姓名的写法,如果使用数字,外面就可以不用包裹一层双引号了,但是您传递的数据就是1或2,这个就要您和对方商量好,1代表什么,2代表什么;
年龄,属于数字,我们有整岁,也有半岁,也就是:我今年6岁了,我今年六岁半了。年龄可以是6,也可能是6.5,在这里都是支持的,同样外面不用包裹双引号;
是否上过幼儿园,布尔运算,真或假,true或false。这个问题很好理解,你是男的吗?你是女的吗?这里呢就直接使用true或false来作为值就可以了。

现在按照上面分析的,我们一起来帮胡布斯用json的形式填写一下这张表:
  1. {
  2.     "name":"胡布斯",
  3.     "age":28,
  4.     "sex":"男",
  5.     "add":"陕西省西安市高新六路 34 号",
  6.     "kindergarten":false  
  7. }
复制代码
这样呢,拥有多个对象的json我们就搞定了~
这节课很基础,面向小白同学,文章内有用词不妥或知识性错误的,请各位大佬批评指正!下节课我们再讲数组,以及接收回来的json语句我们该如何处理并使用。我计划把这个做成一个系列,大家别急,有问题请留言,我整理后会在后面的教程里统一答复!

评分

参与人数 2金币 +266 收起 理由
Chelsey.Wang + 200 赞一个!
Simon.Sun + 66 感谢分享!

查看全部评分

3 个回复

倒序浏览
白骑士
初级会员   /  发表于:2022-11-8 13:35:33
沙发
必须支持,小胖老师加快速度。
回复 使用道具 举报
heroniu
注册会员   /  发表于:2022-11-8 14:08:02
板凳
学习一下,涨涨知识
回复 使用道具 举报
derek_ljw
金牌服务用户   /  发表于:2022-11-12 17:12:23
地板
学习了,期待后续
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部