相关文章推荐
高大的茄子  ·  c:\windows\assembly - ...·  7 月前    · 
光明磊落的镜子  ·  【Java回调函数】_Java回调函数问题与 ...·  7 月前    · 
不敢表白的勺子  ·  从PRISM开始学WPF(六)MVVM(二) ...·  1 年前    · 
大鼻子的圣诞树  ·  深度学习用streamlit做网页demo_ ...·  1 年前    · 
侠义非凡的大象  ·  太赞了!Python竟可以轻松实现音频格式无 ...·  2 年前    · 
Code  ›  java对象转换为json字符串_复杂json字符串转对象开发者社区
gson int转string breed
https://cloud.tencent.com/developer/article/2130964
另类的人字拖
2 年前
作者头像
全栈程序员站长
0 篇文章

java对象转换为json字符串_复杂json字符串转对象

前往专栏
腾讯云
备案 控制台
开发者社区
学习
实践
活动
专区
工具
TVP
文章/答案/技术大牛
写文章
社区首页 > 专栏 > 全栈程序员必看 > 正文

java对象转换为json字符串_复杂json字符串转对象

发布 于 2022-09-30 16:40:02
1.4K 0
举报

大家好,又见面了,我是你们的朋友全栈君。

java转换json字符串

在学习如何编写基于Java的软件时,开发人员遇到的第一个障碍就是如何将其代码与其他软件连接。 这通常是JSON的来源。虽然您可能是Java向导,但JSON是另一种动物。 无论如何,这篇博客文章解释了完成工作所需的一切。

Java对象是数据和处理可用数据的过程的组合 。

对象既有 状态 又有 行为 。 在Java中,使用关键字“ new”创建对象。

对象是从称为类的模板创建的。

对象是类的实例。

例如,我们的“ 猫对象 ”有: 美国 -颜色,名称,品种对象的状态存储在字段(变量)中。 行为 –呼pur,进食,睡觉的方法(功能)显示对象的行为。

  • JSON 是 JavaScript Object Notation 的首字母缩写。
  • JSON格式 被设计为数据交换格式,并且语法是JavaScript的子集。
  • 从文本文件等加载的引号(单引号或双引号)包围的上下文称为JSON字符串。例如{“ id”:1,“ name”:“ SiAm”,“ color”:“ Cream”,“ eyecolor”:“ Blue”,“ breed”:“ Siamese”}
  • JSON是可互操作的,这意味着它与语言/平台无关。
  • JSON格式用于通过网络连接序列化和传输结构化数据。 它主要用于在 服务器 和移动/ Web应用程序之间传输数据,是XML的替代方法。

下面的示例演示了一个客户端服务器方案,其中RESTful Web服务接受XML / JSON格式的数据。

  • RESTful Web服务器应用程序是使用Java设计的:
  • 最终用户不了解xml / json,但这不是问题
  • 最终用户与可能是android的移动应用进行通信
  • 最终用户与可能是php的移动应用进行通信
  • 移动/ Web应用通过XML / JSON与RESTful Web服务进行通信

在上面的示例图中,我们的RESTful Web服务是使用Java设计的。

由于Java对象只能由Java应用程序理解,因此在为Android应用程序创建Web服务时,需要将Java对象转换为JSON。 假设移动应用程序是一个混合应用程序,其前端由android视图处理,数据交易通过使用JSON的自己的网络服务发送。 在这种情况下,我们需要使用Web服务/ api和JSON数据结构从android应用向 数据库 发送/从数据库接收请求。

  • JSON是一种简单的字符串格式数据。 JSON是 可读格式 。 从中读取和推断信息非常容易。
  • JSON格式 易于 使用。
  • 与XML等其他格式相比,JSON 的重量 很 轻 。
  • JSON 格式可以 轻松地以面向对象的方式 转换为Java对象 。
  • JSON是 可互操作的: 程序和平台无关。

如何将Java对象转换为JSON字符串的分步示例

将Java Object转换为JSON字符串的最常见方法是使用API 。 为此目的最常用的API是Jackson和GSON。

本示例说明如何使用JACKSON API将Java对象转换为JSON字符串。

我们可以使用Jackson API提供的 ObjectMapper类 进行转换。

  • writeValueAsString()用于将Java obj转换为JSON
  • readValue()用于将JSON转换为Java obj

步骤1:

当使用MAVEN进行依赖关系管理(推荐)时,可以包括以下依赖关系来下载JAR文件,JACKSON的任何依赖关系,并自动将其包括在项目的类路径中。

将以下依赖项添加到pom文件:

 <dependencies>
 <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version> 2.9 . 8 </version>
 </dependency>
 </dependencies>

步骤2:

 ObjectMapper mapper = new ObjectMapper();
 try {
  String json = mapper.writeValueAsString(cat);
  System.out.println( "ResultingJSONstring = " + json);
  //System.out.println(json);
 } catch (JsonProcessingException e) {
   e.printStackTrace();
 }

本示例使用以下代码:

类useJACKSONapiToConvertJavaOBJtoJSONstring

 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 public class useJACKSONapiToConvertJavaOBJtoJSONstring {
     public static void main(String[] args) {
         Cat cat = new Cat();
         cat.setId(1L);
         cat.setName( "SiAm" );
         cat.setColor( "Cream" );
         cat.setEyecolor( "Blue" );
         cat.setBreed( "Siamese" );
         ObjectMapper mapper = new ObjectMapper();
         try {
             String json = mapper.writeValueAsString(cat);
             System.out.println( "ResultingJSONstring = " + json);
             //System.out.println(json);
         } catch (JsonProcessingException e) {
             e.printStackTrace();
 Cat class 
 public class Cat {
     private Long id;
     private String name;
     private String color;
     private String eyecolor;
     private String breed;
     public Cat() {
     public Cat(Long id, String name) {
         this .id = id;
         this .name = name;
     // Getters & Setters
     @Override
     public String toString() {
         return "Cat{" +
             "id=" + id +
             ", name='" + name +
             '\'' +
             '}' ;
 public Long getId() { return id; } id; }
 public void setId(Long id) { this .id = id; } .id = id; }
 public String getName() { return name; } name; }
 public void setName(String name) { this .name = name; } .name = name; }
 public String getColor() { return color; } color; }
 public void setColor(String color) { this .color = color; } .color = color; }
 public String getEyecolor() { return eyecolor;
 public void setEyecolor(String eyecolor) { this .eyecolor = eyecolor; } .eyecolor = eyecolor; }
 public String getBreed() { return breed; } breed; }
 public void setBreed(String breed) { this .breed = breed; } .breed = breed; }
 }

步骤3:运行useJACKSONapitoConvertJavaOBJtoJSONstring

ResultingJSONstring = { "id" : 1 , "name" : "SiAm" , "color" : "Cream" , "eyecolor" : "Blue" , "breed" : "Siamese" }

使用 com.google.gson 查找 Java 代码段的最佳示例。

以下示例显示了如何使用GSON API将Java对象转换为JSON字符串。

步骤1:

使用MAVEN进行依赖关系管理(推荐)时,可以包括以下依赖关系来下载JAR文件,GSON的任何依赖关系,并自动包括在项目的类路径中,如下所示:

将以下依赖项添加到pom文件:

 <dependencies>
 <dependency>
 <groupId>com.google.code.gson</groupId>
     <artifactId>gson</artifactId>
     <version> 2.3 . 1 </version>
 </dependency>
 </dependencies>

步骤2:

使用以下命令调用GSON API:Gson gson = new Gson();

本示例使用以下代码:

类UseGSONapitoConvertJavaOBJtoJASONstring

 import com.google.gson.Gson;
 public class UseGSONapitoConvertJavaOBJtoJASONstring{
  public static void main(String args[]) {
   CatDetails user = new CatDetails( "SiAm" ,
             "Siamese" ,
            "siam.cat@gmail.com" ,
             2129991234L,
             "NewCatadonia" ,
             true );
    Gson gson = new Gson();
    String json = gson.toJson(user);
    System.out.println(json);
 }

类CatDetails

 /**
 * Java Program to map a Java object to JSON String using GSON library.
 CatDetails { class CatDetails {
  private String name;
  private String breed;
  private String email;
  private int catlives;
  private long phone;
  private String city;
  private boolean likesMice;
  public CatDetails(String name, String breed, String email, int catlives, long phone,
      String city, boolean likesMice) {
    super ();
    this .name = name;
    this .email = email;
    this .catlives = catlives;
    this .phone = phone;
    this .city = city;
    this .likesMice = likesMice;
    this .breed = breed;
 //getters & setters
 public String getName() {
    return name;
 public void setName(String name) {
    this .name = name;
 public String getBreed() {
    return breed;
 public void setBreed(String breed) {
    this .breed = breed;
 public String getEmail() {
    return email;
 public void setEmail(String email) {
    this .email = email;
 public int getCatlives() {
    return catlives;
 public void setCatlives( int catlives) {
    this .catlives = catlives;
 public long getPhone() {
    return phone;
 public void setPhone( long phone) {
    this .phone = phone;
 public String getCity() {
    return city;
 public void setCity(String city) {
    this .city = city;
 public boolean isLikesMice() {
    return likesMice;
 
推荐文章
高大的茄子  ·  c:\windows\assembly - CSDN文库
7 月前
光明磊落的镜子  ·  【Java回调函数】_Java回调函数问题与内容精选-阿里云
7 月前
不敢表白的勺子  ·  从PRISM开始学WPF(六)MVVM(二)Command?-阿里云开发者社区
1 年前
大鼻子的圣诞树  ·  深度学习用streamlit做网页demo_streamlit可以做网站吗_三思为上策的博客-CSDN博客
1 年前
侠义非凡的大象  ·  太赞了!Python竟可以轻松实现音频格式无损转换 - 掘金
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号