json解析字符串

美女程序员鼓励师

本文教程操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。

json字符串应满足以下条件:

1:它必须是一个字符串,由" "或者' '包裹数据,支持字符串的各种操作

2:里面的数据格式应该要满足其中一个格式,可以是json对象,也可以是json对象数组或者是两种基本形式的组合变形。

解析JSON字符串代码

分为三种情况,一个JavaBean,一个List数组,一个嵌套Map的List数组

import java.util.ArrayList;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

import org.json.JSONArray;

import org.json.JSONObject;

import com.android.myjson.domain.Person;

/**

* 完成对json数据的解析

*

*/

public class JsonTools {

   public static Person getPerson(String key, String jsonString) {

       Person person = new Person();

       try {

           JSONObject jsonObject = new JSONObject(jsonString);

           JSONObject personObject = jsonObject.getJSONObject("person");

           person.setId(personObject.getInt("id"));

           person.setName(personObject.getString("name"));

           person.setAddress(personObject.getString("address"));

       } catch (Exception e) {

           // TODO: handle exception

       }

       return person;

   }

   public static List getPersons(String key, String jsonString) {

       List list = new ArrayList();

       try {

           JSONObject jsonObject = new JSONObject(jsonString);

           // 返回json的数组

           JSONArray jsonArray = jsonObject.getJSONArray(key);

           for (int i = 0; i < jsonArray.length(); i++) {

               JSONObject jsonObject2 = jsonArray.getJSONObject(i);

               Person person = new Person();

               person.setId(jsonObject2.getInt("id"));

               person.setName(jsonObject2.getString("name"));

               person.setAddress(jsonObject2.getString("address"));

               list.add(person);

           }

       } catch (Exception e) {

           // TODO: handle exception

       }

       return list;

   }

   public static List getList(String key, String jsonString) {

       List list = new ArrayList();

       try {

           JSONObject jsonObject = new JSONObject(jsonString);

           JSONArray jsonArray = jsonObject.getJSONArray(key);

           for (int i = 0; i < jsonArray.length(); i++) {

               String msg = jsonArray.getString(i);

               list.add(msg);

           }

       } catch (Exception e) {

           // TODO: handle exception

       }

       return list;

   }

   public static List> listKeyMaps(String key,

           String jsonString) {

       List> list = new ArrayList>();

       try {

           JSONObject jsonObject = new JSONObject(jsonString);

           JSONArray jsonArray = jsonObject.getJSONArray(key);

           for (int i = 0; i < jsonArray.length(); i++) {

              JSONObject jsonObject2 = jsonArray.getJSONObject(i);

               Map map = new HashMap();

               Iterator iterator = jsonObject2.keys();

               while (iterator.hasNext()) {

                   String json_key = iterator.next();

                   Object json_value = jsonObject2.get(json_key);

                   if (json_value == null) {

                      json_value = "";

                   }

                   map.put(json_key, json_value);

               }

               list.add(map);

           }

       } catch (Exception e) {

          // TODO: handle exception

       }

       return list;

   }

}

以上就是json解析字符串代码演示,希望能对你有所帮助哦~

以上是 json解析字符串 的全部内容, 来源链接: utcz.com/z/541938.html

回到顶部