Java学习记录 Java与JSON

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,基于JS规范的子集,易于人阅读和编写,也便于机器解析和生成。它以键值对的形式存储数据,常用于网络数据传输,提高效率。Java中可以使用Gson和FastJson库方便地进行JSON与Java对象间的转换。
摘要由CSDN通过智能技术生成

什么是JSON?

JSON英文全称是 JavaScript Object Notation (JS对象简谱)。

JSON是一种使用了JS对象的书写语法的格式。[引用1]

它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。

简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。

易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。[引用2]

 

JSON格式

1.对象格式

数据内容包含在一对大括号内 { } ,数据的书写格式是:名称/值 对。分别包含在“ " " ”内,中间用“ : ”分开,数据与数据之间用 “ , ” 间隔。

例:

一本书

        书名

        简介

{
    "name":"金苹果",
    "info":"种苹果"
}

2.数组格式

数组书写在” [ ] “内。

数组可包含对象,嵌套多层。

{
"name":"李老师",
"age":28,
"pengyou":["张三","李四","王二","麻子",{
"name":"马老师",
"info":"像匹野马一样狂奔在技术钻研的道路上"
}],
"item":{
"name":"大长刀",
"length":"40m"
}
}

 

Java 与 JSON

Java对象 与 JSON格式字符串 之间的转换方式如下。

Gson

将对象转换为JSON字符串

转换JSON字符串的步骤:

1. 引入JAR包

2. 在需要转换JSON字符串的位置编写如下代码即可:

String json = new Gson().toJSON(要转换的对象);

import com.google.gson.Gson;

public class JavaObjectToJSON {
    public static void main(String[] args) {
        Class_4_8_book b = new Class_4_8_book("10011","金苹果","种植苹果真辛苦");
        String s = new Gson().toJson(b);
        System.out.println(s);
    }
}

 

将JSON字符串转换为对象

1. 引入JAR包

2. 在需要转换Java对象的位置, 编写如下代码:

对象 = new Gson().fromJson(JSON字符串,对象类型.class);

import com.google.gson.Gson;

public class JSONToJavaObjectGson {
    public static void main(String[] args) {
        Gson g = new Gson();
        Class_4_8_book b = g.fromJson("{\"id\":\"100\",\"name\":\"金苹果\",\"info\":\"种植苹果真辛苦\"}", Class_4_8_book.class);
        System.out.println(b.getId());
    }
}

FastJson

将对象转换为JSON字符串

转换JSON字符串的步骤:

1. 引入JAR包

2. 在需要转换JSON字符串的位置编写如下代码即可:

String json=JSON.toJSONString(要转换的对象);

import com.alibaba.fastjson.JSON;

public class JavaObjectToJSONFastjson {
    public static void main(String[] args) {
        Class_4_8_book book = new Class_4_8_book("1002","唐诗三百首","床前明月光,疑似地上霜。举头望明月,低头思故乡。");
        String json = JSON.toJSONString(book);
        System.out.println(json);
    }
}

 

将JSON字符串转换为对象

1. 引入JAR包

2. 在需要转换Java对象的位置, 编写如下代码:

类型 对象名=JSON.parseObject(JSON字符串, 类型.class);

List list=JSON.parseArray(JSON字符串,类型.class);

import com.alibaba.fastjson.JSON;

public class JSONToJavaObjectFastjson {
    public static void main(String[] args) {
        Class_4_8_book book = JSON.parseObject("{\"id\":\"1002\",\"info\":\"床前明月光,疑似地上霜。举头望明月,低头思故乡。\",\"name\":\"唐诗三百首\"}", Class_4_8_book.class);
        System.out.println(book.getId());
    }
}

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值