• 技术文章 >Web开发 >JavaScript

    json解析字符串

    宋雪维宋雪维2021-02-24 19:20:15原创4203

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

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

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

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

    解析JSON字符串代码

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    55

    56

    57

    58

    59

    60

    61

    62

    63

    64

    65

    66

    67

    68

    69

    70

    71

    72

    73

    74

    75

    76

    77

    78

    79

    80

    81

    82

    83

    84

    85

    86

    87

    88

    89

    90

    91

    92

    93

    94

    95

    96

    97

    98

    99

    100

    101

    102

    103

    104

    105

    106

    107

    108

    109

    110

    111

    112

    113

    114

    115

    116

    117

    118

    119

    120

    121

    122

    123

    124

    125

    126

    127

    128

    129

    130

    131

    132

    133

    134

    135

    136

    137

    138

    139

    140

    141

    142

    143

    144

    <p style="line-height: normal;">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;

     

        }

    }<br></p>

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

    专题推荐:json解析字符串
    上一篇:json常用解析工具有哪些? 下一篇:gson解析json数据的方法

    相关文章推荐

    • json格式化工具有哪些• json字符串转换为java对象原理• json常用解析工具有哪些?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网