复杂JSON字符串解析

网上找了一些复杂JSON字符串解析的,这篇写的不错,简单简洁。
对于解析json字符串,确实有很大的帮助。
但是这是重在解析,其实还是要映射到实际的实体类中,这样才能保存。

解决方法:是将解析出来的数据赋值给一个新的实体类,然后插入数据库就能保存。

package com.json5;
  
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
  
public class Test
{
  public static void main(String[] args)
  {
    /*
     1.将下面的JSON字符串 解析并打印出来
        {name:'李俊',age:25,address:{description:'北京 回龙观 新龙城',floor:10},like:['唱歌','画画','旅游']}
     */
    String str="{name:'李俊',age:25,address:{description:'北京 回龙观 新龙城',floor:10},like:['唱歌','画画','旅游']}";
    //JSONObject 解析
    try
    {
      JSONObject jsonObj=new JSONObject(str);
      String name=jsonObj.getString("name");
      int age=jsonObj.getInt("age");
      System.out.println(name+","+age);
        
      //地址是  JSONObject
      JSONObject addressObj=jsonObj.getJSONObject("address");
      String description=addressObj.getString("description");
      int floor=addressObj.getInt("floor");
      System.out.println(description+","+floor);
        
      //爱好是 JSONArray
      JSONArray likeArray=jsonObj.getJSONArray("like");
      for(int i=0;i<likeArray.size();i++)
      {
        String value=likeArray.getString(i);
        System.out.println(value);
      }
        
    } catch (JSONException e)
    {
      e.printStackTrace();
    }
  }
}

转自:https://www.cnblogs.com/youxiu326/p/10540781.html

你可能感兴趣的:(notes)