Java学习之jackson篇

Java学习之jackson篇0x00前言本篇内容比较简单,简单记录。0x01Json概述概述:JSON(JavaScriptObjectNotation,JS对象简谱)是一种

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

Java学习之jackson篇

0x00 前言

本篇内容比较简单,简单记录。

0x01 Json 概述

概述:JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

这里复制了一段百度百科的解释,其实内容都可以用一句话来概括。

json主要用于数据交互,主要有键值对来表示。

而在Java里面需要解析json需要用到json的解析器。

0x02 jackson 解析器

在Java里面常见的json解析器有

Jsonlib,Gson,fastjson,jackson

那么这里拿jackson来进行演示。

常用方法

1. readValue(json字符串数据,Class)      json转换为java对象

2.writeValue(参数1,obj):
 参数1:
 
File:将obj对象转换为JSON字符串,并保存到指定的文件中

Writer:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中

OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中

3.writeValueAsString(obj):将对象转为json字符串


注解:

1. @JsonIgnore:排除属性。

2. @JsonFormat:属性值得格式化

对象转Json

这里还需要定义一个实体类,这里就不写了。

package com.test.domain;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class jsonDemo {
    public static void main(String[] args) {
        Person person = new Person();
        person.setName("xiaoming");
        person.setSex("name");
        person.setAge(18);
        ObjectMapper objectMapper = new ObjectMapper();
        try {
            String s = objectMapper.writeValueAsString(person);
            System.out.println(s);
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }


    }
}

显示数据:

{“name”:”xiaoming”,”age”:18,”sex”:”name”}

list集合转换json

package com.test.domain;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.util.ArrayList;
import java.util.List;

public class jsonDemo {
    public static void main(String[] args) {
        Person p1= new Person();
        p1.setName("xiaoming");
        p1.setSex("name");
        p1.setAge(18);
        Person p2= new Person();
        p2.setName("xiaoming");
        p2.setSex("name");
        p2.setAge(18);
        ObjectMapper objectMapper = new ObjectMapper();
        List<Person> list = new ArrayList<>();
        list.add(p1);
        list.add(p2);

        try {
            String s = objectMapper.writeValueAsString(list);
            System.out.println(s);
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
    }
}

json转Java对象

package com.test.domain;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class jsonDemo {
    public static void main(String[] args) throws IOException {
       String json = "{\"sex\":\"男\",\"age\":\"18\",\"name\":\"xiaoming\"}";
        ObjectMapper objectMapper = new ObjectMapper();
        Person person = objectMapper.readValue(json, Person.class);
        System.out.println(person.toString());
    }
}

0x03 结尾

后面准备开始更新Java框架内容。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/119934.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 每天一道算法_5_Financial Management「建议收藏」

    今天的题目更简单,在考虑是不是应该有挑选性的选题目做。题目是Financial Management,如下: DescriptionLarry graduated this year and finally has a job. He’s making a lot of money, but somehow never seems to have enough. Larry has

  • Android官方文档翻译-Broadcasts

    Android官方文档翻译-Broadcasts原文链接:https://developer.android.com/guide/components/broadcasts.html广播Android应用可以向Android系统和其他Android应用发送或从它们那接收广播消息,这类似于发布-订阅设计模式。当需要关注的事件发生时这些广播就会发送出去。例如Android系统在许多系统事件发生时会发送广播,比如当系统启动或设备开始充电时。应用也可以发

  • MySQL官网下载教程

    MySQL官网下载教程在百度搜索输入:MySQL,然后选择官方网站,点击进入进入MySQL官网之后,首先点击:DOWNLOADS,待页面刷新之后,再点击:Community,点击:MySQLCommunityServer,最后点击Archivedversions,选择历史版本选择MySQLInstaller选择需要下载的版本最后点击Download进行下载…

  • python分析人口出生率代码_国家统计局居然也能用的上Python?人口数据Python脚本了解一下?…[通俗易懂]

    python分析人口出生率代码_国家统计局居然也能用的上Python?人口数据Python脚本了解一下?…[通俗易懂]原标题:国家统计局居然也能用的上Python?人口数据Python脚本了解一下?通过采集国家统计局“国家数据”网站中提供的中国历年人口数据,并对数据进行可视化的探索,发现了一些有意思和令人深思的现象和趋势。有一些小伙伴后台留言希望公布一下采集“国家数据”网站人口数据的代码,在这里,就将总人口、人口出生率、人口年龄结构和人口平均寿命4项数据的代码公布出来,方便大家学习和使用。文章目录涉及到的模块在这…

  • C# 税务电子发票接口开发「建议收藏」

    C# 税务电子发票接口开发「建议收藏」stringweixin2=””;weixin2+=”[{“;weixin2+=”\”Appkey\”:\”88\”,”;weixin2+=”\”OperationID\”:\”888\”,”;weixin2+=”\”Body\”:{“;weixin2+=”\”Xfxx\”:{“;weixin2+=”\”nsrsbh\”:\…

  • Spring boot zuul 网关「建议收藏」

    Spring boot zuul 网关「建议收藏」Zuul作为微服务系统的网关组件,用于构建边界服务,致力于动态的路由、过滤、监控、弹性伸缩和安全。其中Zuul、Ribbon以及Eureka的结合使用可以实现智能路由和负载均衡的功能,网关将所有的服务的API接口统一聚合,统一对外暴露,外界调用API的接口的时候,不需要知道微服务系统中各服务相关调用的复杂性,保护了内部微服务单元的API接口,网关可以做用户身份认证和权限认证,防止非法请求操作a…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号