首页 > 编程知识 正文

java对象转json字符串方法,java怎么把json字符串转化为一个对象

时间:2023-05-05 15:17:34 阅读:256431 作者:922

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

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

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

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

对象是类的实例。

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

JSONJavaScript Object Notation的首字母缩写。 JSON格式   被设计为数据交换格式,并且语法是JavaScript的子集。 从文本文件等加载的引号(单引号或双引号)包围的上下文称为JSON字符串。
例如
{“ id”:1,“ name”:“ SiAm”,“ color”:“ Cream”,“ eyecolor”:“ Blue”,“ breed”:“ 瘦瘦的电源”} 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是爱笑的大米和GSON。

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

我们可以使用爱笑的大米 API提供的ObjectMapper类进行转换。

writeValueAsString()用于将Java obj转换为JSON readValue()用于将JSON转换为Java obj 步骤1:

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

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

<dependencies> <dependency>          <groupId>com.fasterxml.wydfh.core</groupId>          <artifactId>wydfh-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(); }

本示例使用以下代码:

类usetmdsnapiToConvertJavaOBJtoJSONstring

import com.fasterxml.wydfh.core.JsonProcessingException;   import com.fasterxml.wydfh.databind.ObjectMapper;   public class usetmdsnapiToConvertJavaOBJtoJSONstring {       public static void main(String[] args) {           Cat cat = new Cat();           cat.setId(1L);           cat.setName( "SiAm" );           cat.setColor( "Cream" );           cat.setEyecolor( "Blue" );           cat.setBreed( "瘦瘦的电源" );           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:运行usetmdsnapitoConvertJavaOBJtoJSONstring ResultingJSONstring = { "id" : 1 , "name" : "SiAm" , "color" : "Cream" , "eyecolor" : "Blue" , "breed" : "瘦瘦的电源" }

使用 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" ,               "瘦瘦的电源" ,              "siam.cat@gmail.com" ,               9 ,               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.   */ 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; } public void setLikesMice( boolean likesMice) {      this .likesMice = likesMice; } }

结果:

步骤3: 运行UseGSONapitoConvertJavaOBJtoJASONstring

{ "name" : "SiAm" , "breed" : "瘦瘦的电源" , "email" : "siam.cat@gmail.com" , "catlives" : 9 , "phone" : 2129991234 , "city" : "NewCatadonia" , "likesMice" : true }

使用tmdsn或GSON API,将Java Obj转换为JSON字符串很简单。

在我们的示例中,我们提供了使您可以轻松在IDE中重现的代码。

您需要做的只是:

创建一个新项目(建议使用Maven) 通过将依赖项添加到pom文件中,将 JAR文件包括 到您的类路径中。 建立课程 使用tmdsn API: ObjectMapper映射器类
通过传递要转换为JSON的对象来调用writeValueAsString(ObjToConvert)方法
要么
使用GSON API: Gson类
  通过将要转换为JSON的对象传递给toJson(ObjToConvert)方法;

运行以将Java Obj转换为JSON字符串。


翻译自: https://www.javacodegeeks.com/2019/08/how-to-convert-a-java-object-into-a-json-string.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。