Json格式与解析(一)

Json格式讲解



前言

本篇文章讲解一下Json的格式以及常见的组合方法格式,比较适合小白阅读
Json格式转换网址

转载请标明出处!!!!!!


提示:以下是本篇文章正文内容,下面案例可供参考

一、Json是什么?

直白来讲Json就是一种轻量级的文本数据交换格式,如果你是小白你可千万不要小看他的用途,他相比较XML来讲可读性更强一些,其中他的数据处理功能也是非常强大的。

二、Json的主要符号以及语法规则

1.引入库

数据在名称/值对中:key:value
数据由逗号分隔:,(一定要是英文的)
大括号 {} 保存对象(大括号({})在各类语言中就相当于一个类的存在)
中括号 [] 保存数组,数组可以包含多个对象(中括号([ ])这在语言中就代表一个数组,数组里边的类型可以自己定义)

2.Json名称/值对

JSON 数据的书写格式是:

key : value

名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:

“name” : “樱花粉的小铁锹”

3.JSON 值

JSON 值可以是:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在中括号中)
对象(在大括号中)
null

4.JSON 数字

JSON 数字可以是整型或者浮点型:
{ “age”:30 }
数字的话就不用带" "双引号了,带上双引号就表示为一个字符串

5.JSON 对象

JSON 对象在大括号 {} 中书写:

{key1 : value1, key2 : value2, … keyN : valueN }

上边给大家讲解了,Json中的{ }就相当于一个类
在这里插入图片描述
在上边我在最外边写了一个大括号{ }这个大括号就相当于C#中的Root 类,而里边的的大括号前边的"item"则表示给该类定义了名称该结构就相当于旁边显示出来的Class Item,而此时的item在最外层的大括号中就相当于在Root类中定义了一个Item类型的属性。

6.JSON 数组

[
{ key1 : value1-1 , key2:value1-2 },
{ key1 : value2-1 , key2:value2-2 },
{ key1 : value3-1 , key2:value3-2 },

{ key1 : valueN-1 , key2:valueN-2 },
]
用在线转换格式工具转换格式如下图
在这里插入图片描述
{
“item”:[
{ “name” : “小铁锹” , “age”:18},
{ “name” : “小阿giao” , “age”:88}

]

}
该json格式转换成C#如下所示

public class ItemItem
{
    
    
    /// <summary>
    /// 小铁锹
    /// </summary>
    public string name {
    
     get; set; }
    /// <summary>
    /// 
    /// </summary>
    public int age {
    
     get; set; }
}
 
public class Root
{
    
    
    /// <summary>
    /// 
    /// </summary>
    public List <ItemItem > item {
    
     get; set; }
}

最外层的大括号{ }还是等价于Class Root,而我们在这里讲到的中括号[ ]相当于一个类,这里给我们转换过后的数据是变成了一个泛型的的集合item,而他的变量则是我们的类ItemItem,而我们的ItemItem类里边则有我们的name属性,我们的age属性同时我们的name后边跟的值是string类型的,在Json里用"“双引号给引用起来,而我们age后边的数值则没有加双引号”",大家还是要把Json格式结合到我们的语言中去理解,这样大家才能更清晰的了解我们的数据在json中是怎么存储与表达的。

数组里边的参数类型一定要一致,否则该Json格式就是错误的。

Json中的数组跟我们语言中的数组是一样的,数组中的类型只要确定了就要按照这个格式来。我以下的写法就是错误的写法
在这里插入图片描述
我的item数组第一个穿的值是一个对象{ }也就是一个类,而我第二个值传的是一个字符串,此时就会报错。此时把那个字符串删了就可以,而我们再传个对象它就不会报错,但是对象中的格式要与我们第一个对象的格式保持一致,否则也会报错。看以下展示
在这里插入图片描述
此时下边的对象相对于上边的来说少了一个数组,这个格式就是明显的不对,此时就会报错,把数组加上就可以了。

在Json中也支持数组嵌套的

在这里插入图片描述
我在这里嵌套了三层数组,大家可以仔细观察一下,嵌套数组最外层的数组要有数组名,但是里边的数组就不能添加数组名。

7.JSON 布尔值

谈到布尔值无非就true or false那布尔值在Json中是怎么传递的?大家可以思考一下是要加双引号还是跟数值一样的方式?
答案揭晓

{ “flag”:true }

Json中的布尔值跟数值一样的赋值方式

8.JSON null

JSON 可以设置 null 值:

{ “runoob”:null }
null的使用跟布尔值,数值的用法一致。

总结

今天主要跟大家介绍了Json的语法格式,虽然这只有简单的几种格式,但是他们的搭配使用可是花样百出,所以大家一定要好好打好自己的基础,这样才能更好的为以后做铺垫。

猜你喜欢

转载自blog.csdn.net/m0_45244541/article/details/123925932