利用Java如何实现一个解析Json功能

本篇文章给大家分享的是有关利用Java如何实现一个解析Json功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

首先准备一个JSON格式的字符串

* String JsonStr = "{object:{persons:" +
"[{name:'呵呵',image:'http://10.0.159.132:8080/Web/s1.png'}," +
"{name:'哈哈',image:'http://10.0.159.132:8080/Web/s1.png'}," +
"{name:'嘿嘿',image:'http://10.0.159.132:8080/Web/s2.jpg'}]}}";
* 然后定义一个Person类
*
*
class Person{
  private String name,image;
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public String getImage() {
    return image;
  }
  public void setImage(String image) {
    this.image = image;
  }
}

下面是一个Json解析的程序代码

class MyDay17Xml {
  //json字符串
  static String JsonStr = "{object:{persons:" +
      "[{name:'呵呵',image:'http://10.0.159.132:8080/Web/s1.png'}," +
      "{name:'哈哈',image:'http://10.0.159.132:8080/Web/s1.png'}," +
      "{name:'嘿嘿',image:'http://10.0.159.132:8080/Web/s2.jpg'}]}}";
  public static void main(String []args) throws JSONException{
    List<Person> list=jsonStrToList(JsonStr);
    System.out.println(list.size());
  }
  /**
   *
   *
   *
   */
  public static List<Person> jsonStrToList(String jsonStr) throws JSONException{
    List<Person> list=new ArrayList<Person>();
    //通过字符串,获得最外部的json对象
    JSONObject jsonObj=new JSONObject(jsonStr);
    //通过属性名,获得内部的对象
    JSONObject jsonPersons=jsonObj.getJSONObject("object");
    //获得json对象组
    JSONArray arr=jsonPersons.getJSONArray("persons");
    for(int i=0;i<arr.length();i++){
      //循环对象,并通过getString("属性名");来获得值
      JSONObject tempJson=arr.getJSONObject(i);
      Person person=new Person();
      person.setName(tempJson.getString("name"));
      person.setImage(tempJson.getString("image"));
      list.add(person);
    }
    return list;
  }
}

以上就是利用Java如何实现一个解析Json功能,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。