Java如何获取Json中的数据实例代码

 更新时间:2023年09月26日 10:09:27   作者:兔兔那么好吃  
这篇文章主要给大家介绍了关于Java如何获取Json中数据的相关资料,我们在日常开发中少不了和JSON数据打交道,那么我们来看看JAVA中常用的JSON获取方式,需要的朋友可以参考下

使用com.alibaba.fastjson解析

总结:一个花括号 { 放进JSONObject一次

           一个中括号 [ 放进JSONArray一次

           获取一次属性调用getXxx一次

1.普通元素

getXxx()直接获取

String jsonString = "{'name':'卢本伟','age':24}";
JSONObject json = JSON.parseObject(jsonString);
String name = json.getString("name");
int age = json.getIntValue("age");
System.out.println(name);
System.out.println(age);

2.属性包含大括号 { 

先使用getJSONObject()获取JSONObject对象 , 然后进一步getXxx()解析属性

String jsonString = "{'Hero':{'name':'Fizz','position':'Mid','charactor':'killer'}}";
JSONObject jsonObject = JSON.parseObject(jsonString);
JSONObject Hero = jsonObject.getJSONObject("Hero");
String name = Hero.getString("name");
String position = Hero.getString("position");
String charactor = Hero.getString("charactor");
System.out.println(name + "..." + position + "..." + charactor);

3.属性包含中括号 [

先使用getJSONArray()获取JSONArray对象,然后进一步遍历

String jsonString = "{'nickNames':['五五开','芦苇','white']}";
JSONObject jsonObject = JSON.parseObject(jsonString);
JSONArray nickNames = jsonObject.getJSONArray("nickNames");
for(Object nickName:nickNames){
    System.out.println(nickName);
}

4.属性中既有中括号包括,又嵌套了大括号

一层层获取即可:先getJSONArray,然后getJSONObject,到了属性,就是getXxx()

String jsonString = "{'Honors':[{'year':2011,'name':'TGA总决赛冠军'},{'year':2013,'name':'S3全球总决赛中国区冠军'},{'year':2013,'name':'S3全球总决赛亚军'}]}";
JSONObject jsonObject = JSON.parseObject(jsonString);
JSONArray honors = jsonObject.getJSONArray("Honors");
for(int i=0; i<honors.size(); i++){
    JSONObject honor = (JSONObject) honors.get(i);
    int year = honor.getIntValue("year");
    String name = honor.getString("name");
    System.out.println(year + "..." + name);
}

附:java 从json串中取出某个字段的值

import com.alibaba.fastjson.JSONObject;
public class JsonTest {
	public static void main(String[] args) {
		// json串(以自己的为准)
		String str = "{"id":"75","shoppingCartItemList":[{"id":"407","num":"10"}]}";
		JSONObject jsonObject = JSONObject.parseObject(str);
		// 获取到key为shoppingCartItemList的值
		String r = jsonObject.getString("shoppingCartItemList");
		System.out.println(r);
	}
}
package com.cmbc.cms.action.addrebatchno; 
import java.util.List; 
import com.alibaba.fastjson.JSONObject; 
public class Test { 
public int getId() { 
return id; 
} 
public void setId(int id) { 
this.id = id; 
} 
public int getNum() { 
return num; 
} 
public void setNum(int num) { 
this.num = num; 
} 
private int id; 
private int num; 
public static void main(String[] args) { 
// TODO Auto-generated method stub 
String str = "{\"id\":\"75\",\"shoppingCartItemList\":[{\"id\":\"407\",\"num\":\"10\"}]}"; 
JSONObject jsonObject = JSONObject.parseObject(str); 
// 获取到key为shoppingCartItemList的值 
String r = jsonObject.getString("shoppingCartItemList"); 
System.out.println(r); 
//取外面的id 
String id = jsonObject.getString("id"); 
System.out.println(id); 
//取里面的id 
List<Test> list = JSONObject.parseArray(r,Test.class); 
int id2 = list.get(0).getId(); 
System.out.println(id2); 
} 
} 

总结 

到此这篇关于Java如何获取Json中数据的文章就介绍到这了,更多相关Java获取Json数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Springboot POI导出Excel(浏览器)

    Springboot POI导出Excel(浏览器)

    这篇文章主要为大家详细介绍了Springboot POI导出Excel,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • 解决Hibernate4执行save()或update()无效问题的方法

    解决Hibernate4执行save()或update()无效问题的方法

    这篇文章主要为大家详细介绍了解决Hibernate4执行save()或update()无效问题的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • Jmeter如何添加循环控制器

    Jmeter如何添加循环控制器

    这篇文章主要介绍了Jmeter如何添加循环控制器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Java编程实现基于用户的协同过滤推荐算法代码示例

    Java编程实现基于用户的协同过滤推荐算法代码示例

    这篇文章主要介绍了Java编程实现基于用户的协同过滤推荐算法代码示例,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Java实现的决策树算法完整实例

    Java实现的决策树算法完整实例

    这篇文章主要介绍了Java实现的决策树算法,简单描述了决策树的概念、原理,并结合完整实例形式分析了java实现决策树算法的相关操作技巧,代码中备有较为详尽的注释便于理解,需要的朋友可以参考下
    2017-11-11
  • Java IO篇之Reactor 网络模型的概念

    Java IO篇之Reactor 网络模型的概念

    Reactor 模式也叫做反应器设计模式,是一种为处理服务请求并发提交到一个或者多个服务处理器的事件设计模式,Reactor 模式主要由 Reactor 和处理器 Handler 这两个核心部分组成,本文给大家介绍Java IO篇之Reactor 网络模型的概念,感兴趣的朋友一起看看吧
    2022-01-01
  • ThreadLocal内存泄露的产生原因和处理方法

    ThreadLocal内存泄露的产生原因和处理方法

    ThreadLocal 的内存泄漏问题通常发生在使用 ThreadLocal 存储对象时,尤其是在多线程环境中,线程池中的线程复用可能导致一些资源没有及时清理,从而引发内存泄漏,所以本文给大家介绍了ThreadLocal内存泄露的产生原因和处理方法,需要的朋友可以参考下
    2024-12-12
  • Java基础之Unsafe内存操作不安全类详解

    Java基础之Unsafe内存操作不安全类详解

    Java是面向对象语言,在使用Java编程时,大多数情况下都不会直接操作内存,而且Java也不提倡直接操作内存,但是Java中到底有没有可以直接操作内存的工具类呢?有!Java中提供Unsafe类可以用来来直接操作内存,文中详细介绍了Unsafe内存操作不安全类,需要的朋友可以参考下
    2021-06-06
  • Java连接sftp服务器实现上传下载功能

    Java连接sftp服务器实现上传下载功能

    这篇文章主要介绍了java连接sftp服务器实现上传下载,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • Java线程状态及jstack命令详解

    Java线程状态及jstack命令详解

    jstack是Java虚拟机(JVM)提供的一个非常有用的命令行工具,它允许开发人员和系统管理员在运行时获取Java应用程序的线程堆栈跟踪,在某些情况下,可能需要以管理员或root用户的身份运行jstack命令,这篇文章主要介绍了Java线程状态及jstack命令详解,需要的朋友可以参考下
    2024-03-03

最新评论