您的当前位置:首页正文

json解析字符串

2024-08-01 来源:东饰资讯网

本文教程操作环境: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解析字符串代码演示,希望能对你有所帮助哦~

显示全文