字符串、数组、map集合、集合数组、Java对象与JSON相互转化

一、需要导入的jar包

 

二、相互转化

1.字符串与JSON相互转化

        //字符串转化为JSON,取JSON内元素
        String jsonStr="{'name':'Jeffrey'}";
        JSONObject jo=JSONObject.fromObject(jsonStr);
        System.out.println(jo);    //{"name":"Jeffrey"}
        String name = jo.get("name").toString();
        System.out.println(name);    //Jeffrey
        jo.put("msg", "good");
        System.out.println(jo);      //{"name":"Jeffrey","msg":"good"}

 

     //得到JOSN的String元素

    System.out.println(jo.get("name"));    //Jeffrey

 

2.String数组与JSON相互转化

    String[] likes={"basketball","soccer","sport"};

    jo.put("likes", likes);

    System.out.println(jo);

    //{"name":"Jeffrey","msg":"good","likes":["basketball","soccer","sport"]}

 

    //得到JSON中的likes字符串数组的元素

    JSONArray arrays = (JSONArray) jo.get("likes");

    //遍历json数组

    if(arrays.size()>0){

    for(int i=0;i<arrays.size();i++){  

    String str = arrays.getString(i);

    System.out.println(str);

    }  

    }

3.map集合与JSON相互转化

 Map<String,String> map=new HashMap<String,String>();

map.put("apples", "3kg");

map.put("suger", "1kg");

map.put("fish", "2tiao");

jo.put("map", map);

System.out.println(jo);

 /*{"name":"Jeffrey","msg":"good","likes":["basketball","soccer","sport"],
    "map":{"suger":"1kg","fish":"2tiao","apples":"3kg"}}  */   

 

//获取map

Map map1=(Map) jo.get("map");

System.out.println("\n-------------map-------------");

System.out.println(map1); //{"suger":"1kg","fish":"2tiao","apples":"3kg"}

//获取map中的值

System.out.println(map.get("suger")); //1kg

4.map集合数组与JSON相互转化

    JSONObject jo=new JSONObject();

Map<String,String> map=new HashMap<String,String>();

map.put("suger", "1kg");

map.put("fish", "2tiao");

Map<String,String> map1=new HashMap<String,String>();

map1.put("11", "aa");

map1.put("22", "bb");

Map<String,String> map2=new HashMap<String,String>();

map2.put("rr", "tt");

map2.put("dd", "ff");

Map [] maps={map,map1,map2};

jo.put("maps", maps);

System.out.println(jo);

/*{"name":"Ive","initial":"I",

"likes":["basketball","soccer","sport"],

"map":{"suger":"1kg","fish":"2tiao","apples":"3kg"},

"maps":[{"suger":"1kg","fish":"2tiao","apples":"3kg"}, {"22":"bb","11":"aa"},{"dd":"ff","rr":"tt"}]}*/

 

//得到maps集合数组。JSONArray是json数组

JSONArray ja=jo.getJSONArray("maps");

System.out.println("\n-------------maps-------------");

System.out.println(ja);

//获取maps集合数组中的元素第一种方法,根据下标获取单个元素取值

JSONObject jo1 = new JSONObject().fromObject(ja.getString(0));

String str=jo1.get("fish").toString();

System.out.println(str);

//获取maps集合数组中元素的第二种方法,遍历

if(ja.size()>0){

for(int i=0;i<ja.size();i++){

// 遍历 jsonarray 数组,把每一个对象转成 json 对象  

JSONObject job = ja.getJSONObject(i);

// 得到 每个对象中的属性值  

System.out.print(job.get("suger")+"\t");

System.out.print(job.get("fish")+"\t");

System.out.println(job.get("apples"));

}

}

5。Java对象与JSON相互转化

  //java对象转化为json对象
        Emp emp=new Emp();
        emp.setEmpNo(110);
        emp.setEmpName("James");
        emp.setLoc("KLFL");
        JSONObject jo = JSONObject.fromObject(emp);
        System.out.println(jo);  //{"empName":"James","loc":"KLFL","empNo":110}
        
        //json转化为java对象
        Emp jsonEmp=(Emp) JSONObject.toBean(jo, Emp.class);
        System.out.println(jsonEmp.getEmpName());  //James

 

更多学习和交流,请关注订阅号:猿事如此

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

11Jeffrey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值