jason解释

JSONObject对象解析

下面看一下数据

{
"user":{
"name":"alex",
"age":"18",
"isMan":true
}
}

有一个user字段,其中包含了该user的一些基本属性。那么如何解析呢?

在解析时,有一个很关键的地方:如果是{}包含,则为JSONObject对象,如果为[]则为JSONArray对象。

看到上面的例子,我们看到整个数据为JSONObject,其内部包含了一个user字段,该字段的值也是一个JSONObject对象

public class OrgJSONTest {

    public static String json = "{"user":{"name":"alex","age":"18","isMan":true}}";


    public static void main(String[] args){
        JSONObject obj = new JSONObject(json);//最外层的JSONObject对象
        JSONObject user = obj.getJSONObject("user");//通过user字段获取其所包含的JSONObject对象
        String name = user.getString("name");//通过name字段获取其所包含的字符串

        System.out.println(name);


    }
}

二、如何从字符串jsonString获得JSONObject对象和JSONArray对象

/*json字符串最外层是大括号时:*/
JSONObject jsonObject = new JSONObject(jsonStr);

/*json字符串最外层是方括号时:*/
JSONArray jsonArray = new JSONArray(jsonStr);

三、如何从JSONArray中获得JSONObject对象

遇到方括号时,就要先获取JSONArray,然后再循环遍历出JSONObject

大家可以把JSONArray当成一般的数组来对待,只是获取的数据内数据的方法不一样。

for (int i = 0; i < jsonArray.length(); i++) {
    JSONObject jsonObject = jsonArray.getJSONObject(i);
}

注意:

*JSONObject 获取jsonArray :需要数组的字段名*/
JSONArray jsonArray = jsonObject.getJSONArray("children");


/*jsonArray获取JSONObject : 需要遍历数组*/
 for (int i = 0; i < jsonArray.length(); i++) {
    JSONObject jsonObject = jsonArray.getJSONObject(i);
}

示例一:
String json = " {"status":0,"data":["7835313","1","33333333","3085779"]} " ;

JSONObject jsonObject = new JSONObject(json);
    
    /*JSONObject 获取jsonArray :需要数组的字段名*/
    JSONArray jsonArray = jsonObject.getJSONArray("data");

    for (int i = 0; i < jsonArray.length(); i++) {
        //得到每一张卡。
        
    }
解析注册卡

你可能感兴趣的:(jason解释)