首页 > 技术文章 > 解析JSON字符串

xiaosiyuan 2017-01-06 10:21 原文

获取到json类型的字符串需要解析时,一种方式是将json字符串通过fastjson转换成一个具体的对象,有时候遇到一些特殊情况json字符串不固定时,上面那种方式不是很方便的情况下,可以直接将json字符串转换成JSONObject对象,然后去解析。

 1  public static String get(JSONObject object,String key)
 2     {
 3         if(object.containsKey(key))
 4         {
 5             return object.get(key).toString();
 6         }
 7         for(String k:object.keySet())
 8         {
 9             if(!(object.get(k) instanceof String) && !(object.get(k) instanceof Integer))
10             {
11                 try
12                 {
13                     JSONObject o=object.getJSONObject(k);
14                     String value=get(o,key);
15                     if(!value.equals(""))
16                     {
17                         return value;
18                     }
19                 }catch (ClassCastException e)
20                 {
21                     JSONArray array=object.getJSONArray(k);
22                     for(int i=0;i<array.size();i++)
23                     {
24                         JSONObject o=array.getJSONObject(i);
25                         String value=get(o,key);
26                         if(!value.equals(""))
27                         {
28                             return value;
29                         }
30                     }
31                 }
32             }
33 
34         }
35 
36         return "";
37     }

 

不过这样对于要查找的key的大小写是敏感的,不知道要怎么做才能使大小写不敏感呢

推荐阅读