java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java获取Json数据

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

作者:兔兔那么好吃

这篇文章主要给大家介绍了关于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数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文