Android--Json

Json的工具:HiJson(能将Json数据变得清晰点,更容易看)
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

(测试时在AndroidTest那里测试,在Test那里测试会报错)
测试案例:

public class Test {


    //1,2都是:将json对象转换成java对象
    @org.junit.Test
    public void test1() throws JSONException {
        String json="{\"name\":\"Tom\",\"age\":12}";
        JSONObject jsonObject=new JSONObject(json);
        String name = jsonObject.getString("name");
        int age=jsonObject.getInt("age");

        UserBean userBean=new UserBean(name,age);

        Log.e("TAG",userBean.toString());
    }



    @org.junit.Test
    public void test2(){
        String json="{\"name\":\"Tom\",\"age\":12}";
        UserBean userBean = new Gson().fromJson(json, UserBean.class);
        Log.e("TAG",userBean.toString());
    }


    //3,4都是:将json数组转换成java list集合
    @org.junit.Test
    public void test3() throws JSONException {
        String json="[{\"name\":\"Tom\",\"age\":12},{\"name\":\"Sam\",\"age\":13}]";
        JSONArray jsonArray=new JSONArray(json);
        List<UserBean> userBeans=new ArrayList<UserBean>();
        for(int i=0;i<jsonArray.length();i++){
            JSONObject jsonObject = jsonArray.getJSONObject(i);
            String name = jsonObject.getString("name");
            int age=jsonObject.getInt("age");
            UserBean userBean=new UserBean(name,age);
            userBeans.add(userBean);
        }
        Log.e("TAG",userBeans.toString());
    }


    @org.junit.Test
    public void test4(){
        String json="[{\"name\":\"Tom\",\"age\":12},{\"name\":\"Sam\",\"age\":13}]";
        List<UserBean> list=new Gson().fromJson(json, new TypeToken<List<UserBean>>(){}.getType());
        Log.e("TAG",list.toString());
    }


    //将java对象转换成json字符串
    @org.junit.Test
    public void test5(){
        UserBean userBean=new UserBean("Tom",15);
        String s = new Gson().toJson(userBean);
        Log.e("TAG",s);
    }

    //将java对象列表转换成json字符串
    @org.junit.Test
    public void test6(){
        List<UserBean> list=new ArrayList<UserBean>();
        list.add(new UserBean("Tom",15));
        list.add(new UserBean("Sam",17));

        String s = new Gson().toJson(list);
        Log.e("TAG",s);
    }

    //下面这种自定义类不行的,需要封装到map上
    @org.junit.Test
    public void test7(){
        String json="{\"my name\":\"Tom\",\"1\":12}";

        Map<String,Object> map=new Gson().fromJson(json,new TypeToken<Map<String,Object>>(){}.getType());

        Log.e("TAG",map.toString());
    }
}

发布了117 篇原创文章 · 获赞 1 · 访问量 7058

猜你喜欢

转载自blog.csdn.net/qq_43616001/article/details/104379031