首页 > 编程语言 >Json字符串转换为java对象

Json字符串转换为java对象

时间:2023-04-23 11:05:45浏览次数:57  
标签:java name Json jackson 字符串 import public ObjectMapper


1.  Json字符串转换为java对象

1.1.  Json字符串转换为java bean

Json2Bean.java

package jackson;
 
import java.io.IOException;
 
import org.codehaus.jackson.map.ObjectMapper;
 
public  class Json2Bean {
 
   public  static void main(String[] args) throws IOException{
 
"{\"name\":\"Morris\",\"age\":\"22\",\"sex\":\"男\"}";
      
      ObjectMapper mapper = new ObjectMapper();
      
      Person person = mapper.readValue(jsonStr, Person.class);
      
      System.out.println(person);
   }
 
}

1.2.  Json字符串转换为java List集合

Json2List.java

package jackson;
 
import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.List;
 
import org.codehaus.jackson.map.ObjectMapper;
 
public  class Json2List {
 
   public  static void main(String[] args) throws IOException {
 
"[{\"name\":\"Bob\",\"age\":\"33\",\"sex\":\"女\"},"
"{\"name\":\"Morris\",\"age\":\"22\",\"sex\":\"男\"}]";
      
      ObjectMapper mapper = new ObjectMapper();
      
      List<LinkedHashMap<String, String>> list = mapper.readValue(jsonStr, List.class);
      
      for (LinkedHashMap<String, String> linkedHashMap : list) {
        for (String key:linkedHashMap.keySet()) {
           System.out.println(key+":"+linkedHashMap.get(key));
        }
      }
   }
 
}

运行结果如下:

name:Bob

age:33

sex:女

name:Morris

age:22

sex:男

1.3.  Json字符串转换为java Map集合

Json2Map.java

package jackson;
 
import java.io.IOException;
import java.util.Map;
import java.util.Set;
 
import org.codehaus.jackson.map.ObjectMapper;
 
public  class Json2Map {
 
   public  static void main(String[] args) throws IOException {
 
"{\"success\":true,\"A\":{\"address\": \"address2\",\"name\":\"haha2\",\"id\":2,\"email\":\"email2\"},"+
"\"B\":{\"address\":\"address\",\"name\":\"haha\",\"id\":1,\"email\":\"email\"}}";
      
      ObjectMapper mapper = new ObjectMapper();
      
      Map map = mapper.readValue(jsonStr, Map.class);
      
      Set keySet = map.keySet();
      
      for (Object key : keySet) {
        System.out.println(key+":"+map.get(key));
      }
 
   }
 
}

运行结果如下:

success:true

A:{address=address2, name=haha2, id=2,email=email2}

B:{address=address, name=haha, id=1,email=email}

1.4.  Json字符串转换为数组

Json2Array.java

package jackson;
 
import java.io.IOException;
 
import org.codehaus.jackson.map.ObjectMapper;
 
public  class Json2Array {
 
   public  static void main(String[] args) throws IOException {
      
"[{\"name\":\"Bob\",\"age\":\"33\",\"sex\":\"女\"},"
"{\"name\":\"Morris\",\"age\":\"22\",\"sex\":\"男\"}]";
      
      ObjectMapper mapper = new ObjectMapper();
      
      Person[] persons = mapper.readValue(jsonStr, Person[].class);
      
      for (Person person : persons) {
        System.out.println(person);
      }
      
      
 
   }
 
}

运行结果如下:

Person [name=Bob, age=33, sex=女]

Person [name=Morris, age=22, sex=男]

标签:java,name,Json,jackson,字符串,import,public,ObjectMapper
From: https://blog.51cto.com/u_6784072/6216850

相关文章

  • java利用json-lib操作json
    1.1. 下载json-lib.jarhttp://sourceforge.net/projects/json-lib/files/json-lib/1.2. Java对象转换为json1.2.1.  Map对象转换为jsonMap2Json.javapackagejson;importjava.util.HashMap;importjava.util.Map;importnet.sf.json.JSONArray;publicclassMap2......
  • js操作json
    1.1. Json简介1.1.1.  什么是jsonJSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。它基于JavaScript的一个子集。JSON值可以是:数字(整数或浮点数),字符串(在双引号中),逻辑值(true或false),数组(在方括号中),对象(在花括号中),函数,空字符串,null1.1.2.  Json的结构1......
  • Java使用maven-invoker插件进行maven相关操作
    官方文档地址:https://maven.apache.org/shared/maven-invoker/index.htmlApacheMavenInvoker在许多情况下,工具(包括Maven本身)可能希望在干净的环境中启动Maven构建。为什么呢?也许您希望避免Maven插件产生的副作用污染当前系统环境。也许您想从与当前${user.dir}不同的工作目......
  • 数据结构与算法跳表之java实现
    跳表一个有序链表的搜索、添加、删除的平均时间复杂度都为O(n),那么能否利用二分搜索优化有序链表,将搜索、添加、删除的平均时间复杂度降低至O(logn)呢?链表没有像数组那样的高效随机访问(O(1)时间复杂度),所以不能像有序数组那样直接进行二分搜索优化。那有没有其他办法让有序链表的搜......
  • 十大排序算法快速排序之Java实现
    快速排序快速排序(QuickSort)是对冒泡排序的一种改进,采用的是分治策略(一般与递归结合使用),以减少排序过程中的比较次数。快速排序在1960年由查尔斯·安东尼·理查德·霍尔(CharlesAntonyRichardHoare,缩写为C.A.R.Hoare)提出,昵称为东尼·霍尔(TonyHoare)。算法步骤从数组中选择一个......
  • Java虚拟机之JVM工具监控调优
    我是攻城师(woshigcs)前几篇我们学习了,JVM里面的运行结构,GC算法,以及各种垃圾收集器的优劣点,那么本篇我们来看下如何使用一些虚拟机性能监控工具,来监控和快速处理故障,当JVM出现一些故障时,我们通常从如下的几个方面进行着手分析,包括运行日志,异常堆栈,GC日志,线程快照(threaddump/javacor......
  • JSON常用方法
    转自:https://blog.csdn.net/wts563540/article/details/1084184541、JSON.parseObject和JSON.toJSONString   JSON.parseObject,是将Json字符串转化为相应的对象;JSON.toJSONString则是将对象转化为Json字符串。在前后台的传输过程中,JSON字符串是相当常用的,这里就不多介绍其功......
  • Java_final 和 构造代码块
    书上的笔记转移:【REVIEW】:final除了不被重写、不被修改、不被继承、值不可变等等。。。还有以下几个特性: 1.如果成员变量的final修饰未进行赋值,那么是可以在构造方法和构造代码块进行赋值的,如果赋值成功,那么后面都不可能在进行赋值了。 ---2. 静态代码块我知道,就是只执......
  • JSON字段基本操作
    CREATETABLE`t`(`id`INTUNSIGNEDNOTNULL,`js`JSONNOTNULL,PRIMARYKEY(`id`));{"num":1,"name":"abc","age":16,"newNum":123,"class":{......
  • Java泛型
    Java泛型概念Java泛型是一种在编译时进行类型检查和类型推断的机制,它可以让我们编写更加通用、可重用的代码,提高了代码的可读性和可维护性,同时保证了类型安全。Java泛型的核心思想是类型参数化,即在类、接口或方法的定义中使用类型参数来代替具体的类型,这些类型参数在实例化时被具体......