前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JSON简单入门

JSON简单入门

作者头像
暴躁的程序猿
发布2022-03-23 20:04:00
3900
发布2022-03-23 20:04:00
举报
文章被收录于专栏:阿飞的学习记录

什么是Json?

Json是一种轻量级的数据交换格式。易于人们的阅读和编写,同时也易于机器解析和生成。Json采用完全独立于语言的文本格式,而且很多语言都提供了对Json的支持。这样就使得Json成为理想的数据交换格式。

json是一种轻量级的数据交换格式

轻量级指的是跟xml做比较

数据交换指的是客户端和服务器之间业务数据的传递格式

JSON在JavaScript中的使用

Json的定义

Json是由键值对组成,并且由花括号(大括号)包围。每个键由引号引起来,键和值之间使用冒号进行分隔。

多组键值对之间使用逗号进行分隔。

代码语言:javascript
复制
 var jsonTest={
          "k1": 1,
          "k2": false,
          "k3": "你好",
          "k4": [1,"2",false],
          "k5": {
              "k51": true
          },
           "k6":[{
               "k61": true
           },{
               "k62": 111
           }]
        };

Json的访问

json本身是一个对象

Json中的key我们可以理解为是对象中的一个属性

Json中的key访问就跟访问对象的属性一样

代码语言:javascript
复制
//访问普通值
jsonTest.k1;
jsonTest.k2;
//访问数组 第一个元素
jsonTest.k4[0]
//访问json中的json
jsonTest.k5.k51

json的两个常用方法

json有两种形式:

1.一种对象的形式存在我们叫它Json对象

2.一种字符串的形式存在我们叫它json字符串

使用场景:我们要操作json中的数据的时候,需要json对象

我们要在客户端和服务器之间进行数据交换的时候使用json字符串

代码语言:javascript
复制
//把Json对象转化称为json字符串
JSON.stringify()
//把Json字符串转化为Json对象
JSON.parse()

Json在Java中的使用

JavaBean和Json的转换

引入依赖

代码语言:javascript
复制
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.2.4</version>
</dependency>

测试

代码语言:javascript
复制
/**
 * JavaBean和json的转换
 */
@Test
public void test1(){
    User user = new User(1,"张三","123","21341412@qq.com");
    Gson gson = new Gson();
    //把javaBean转换成json
    String json = gson.toJson(user);
    System.out.println(json);
    //fromJson 把Json转换成JavaBean
    System.out.println(gson.fromJson(json,User.class));
}

输出

代码语言:javascript
复制
{"id":1,"username":"张三","password":"123","email":"21341412@qq.com"}
User{id=1, username='张三', password='123', email='21341412@qq.com'}

List和Json的转换

代码语言:javascript
复制
/**
 * List和json的转换
 */
@Test
public void test2(){
    ArrayList<User> list = new ArrayList<>();
    list.add(new User(1,"张三","123","21341412@qq.com"));
    System.out.println(list);
    Gson gson = new Gson();
    String json = gson.toJson(list);
    System.out.println(json);
    System.out.println(gson.fromJson(json,new TypeToken<HashMap<Integer,User>>(){}.getType()));
}

Map和json的转换

代码语言:javascript
复制
/**
 * Map和json的转换
 */
@Test
public void test3(){
    Map<Integer, User> hashMap = new HashMap<>();
    hashMap.put(1,new User(1,"张三","123","21341412@qq.com"));
    hashMap.put(2,new User(2,"张四","123","21341413@qq.com"));
    System.out.println("原始的map"+hashMap);
    Gson gson = new Gson();
    String json = gson.toJson(hashMap);
    System.out.println(json);
    HashMap hashMap1 = gson.fromJson(json,new TypeToken<HashMap<Integer,User>>(){}.getType());
    System.out.println("转换回来的map---"+hashMap1);
}

注意:这里fromJson转换回对象时 原来的泛型会丢失 我们需要继承TypeToken传入原来的泛型本文中使用的匿名内部类方式

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/03/07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档