JSON的操作

1、什么是json

  • JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
  • JSON 是轻量级的文本数据交换格式
  • JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
  • JSON 具有自我描述性,更易理解

2、json的语法

2.1、json的语法规则

  • 数据在键值对
  • 数据由逗号分隔
  • 大括号保存对象
  • 中括号保存数组,数组中可以包含多个对象
  • 使用斜杠\来转义字符

2.2、JSON 的两种结构:

1、对象:大括号 {} 保存的对象是一个无序的键/值对集合。一个对象以左括号 { 开始, 右括号 } 结束。每个"键"后跟一个冒号 :,键/值对使用逗号 , 分隔。
请添加图片描述

2、数组:中括号 [] 保存的数组是值(value)的有序集合。一个数组以左中括号 [ 开始, 右中括号 ] 结束,值之间使用逗号 , 分隔。
请添加图片描述

值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array),它们是可以嵌套。
请添加图片描述

2.3、JSON 名称/值对

key : value
"name" : "张三"

2.4、JSON 值

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

3、解析JSON数据

1、通过c#进行解析
首先,创建JSON数组,其中有三个对象

[
	{"id":1,"name":"玄玉手","damage":"200"},
	{"id":2,"name":"蓝银领域","damage":"300"},
	{"id":3,"name":"佛怒唐莲","damage":"10000"}
]

创建对应的类

class Skill
    {
        public int id { get; set; }
        public String name { get; set; }
        public String damage { get; set; }

        public void toString()
        {
            Console.WriteLine("id=" + id + ",name=" + name + ",damage=" + damage);
        }
    }

测试

class Program
    {
        static void Main(string[] args)
        {
            //反序列化
            Skill[] skillArray = JsonConvert.DeserializeObject<Skill[]>(File.ReadAllText("Skills.txt"));
            foreach(Skill s in skillArray)
            {
                s.toString();
            }
        }
    }

2、通过java进行解析
普通json格式
如:{“name”:“张三”,“id”:1}

public void getObject(String json){
    JSONObject jsonObject = JSON.parseObject(json);
    String id = jsonObject.getString("id");
    String s = jsonObject.getString("name");
    System.out.println(id);
    System.out.println(s);
}

json中包含对象
如:{“user”:{“id”:2,“name”:“张三”}}

public void getObject(String json){
     JSONObject jsonObject = JSON.parseObject(json);
     JSONObject user = jsonObject.getJSONObject("user");
     Integer id = user.getInteger("id");
     String name = user.getString("name");
     System.out.println(id);
     System.out.println(name);
}

更多工具解析与学习——》json官网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值