Java获取Json中的数据

目录

1.普通元素

2.属性包含大括号 { 

3.属性包含中括号 [

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


使用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);
}

  • 15
    点赞
  • 94
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
你可以使用JavaJSON解析库来获取JSON的某个字段数据。常用的JSON解析库有Gson和Jackson。以下是使用Gson库的示例代码: 首先,你需要引入Gson库的依赖。在Maven项目,可以在pom.xml文件添加以下代码: ```xml <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.8</version> </dependency> ``` 然后,你可以使用以下代码来解析JSON获取特定字段的: ```java import com.google.gson.Gson; import com.google.gson.JsonObject; import com.google.gson.JsonParser; public class JsonParserExample { public static void main(String[] args) { String json = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}"; // 创建JsonParser对象 JsonParser parser = new JsonParser(); // 将JSON字符串解析为JsonObject JsonObject jsonObject = parser.parse(json).getAsJsonObject(); // 使用get方法获取特定字段的 String name = jsonObject.get("name").getAsString(); int age = jsonObject.get("age").getAsInt(); String city = jsonObject.get("city").getAsString(); System.out.println("Name: " + name); System.out.println("Age: " + age); System.out.println("City: " + city); } } ``` 在上面的示例,我们使用Gson库JsonParser类将JSON字符串解析为JsonObject对象。然后,我们可以使用get方法获取特定字段的。 希望这可以帮助到你!如果你使用的是Jackson库,可以使用类似的方法来获取JSON的字段数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值