如何使用Java获取Json中的数据

前端开发   发布日期:2025年03月03日   浏览次数:153

这篇文章主要介绍“如何使用Java获取Json中的数据”,在日常操作中,相信很多人在如何使用Java获取Json中的数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用Java获取Json中的数据”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1.普通元素

getXxx()直接获取

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

2.属性包含大括号 {

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

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

3.属性包含中括号 [

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

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

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

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

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

补充:java提取json中某个数组的所有值

  1. public class JsonExtracter {
  2. public static void main(String[] args) {
  3. String s = "{"name":"a","family":["张三","李四"]}";
  4. JSONObject jsonObject = JSON.parseObject(s);
  5. //注意:family中的内容带有中括号[],所以要转化为JSONArray类型的对象
  6. JSONArray family = jsonObject.getJSONArray("family");
  7. for (int i = 0; i < family.size(); i++) {
  8. //提取出family中的所有
  9. String s1 = (String) family.get(i);
  10. System.out.println("currentFamily:" + s1);
  11. }
  12. }

以上就是如何使用Java获取Json中的数据的详细内容,更多关于如何使用Java获取Json中的数据的资料请关注九品源码其它相关文章!