Java:Json与其他Java对象集合的转换
一、引入的jar包
json-lib-2.4-jdk15.jar

二、Json字符串转换为其他对象
1、对象==》json字符串 2、list和Map集合==》json字符串 3、Map集合==》json字符串【具体代码如下】
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.TreeMap; import com.coscon.ferightEntrust.vo.CdViewVo; import net.sf.json.JSONArray;
import net.sf.json.JSONObject; public class TestCd {
public static void main(String[] args) {
collectToStr();
} private static void collectToStr(){ CdViewVo cvv=new CdViewVo();
cvv.setCntrNum("CBHU898637"); cvv.setSealNum("CBHU898637");
cvv.setCntrType("20Gp"); cvv.setObTrafficTerm("jkd");
cvv.setIbTrafficTerm("P-预付"); cvv.setPackDesc("");
cvv.setGrossWt(""); cvv.setVol("54.23"); CdViewVo cvv2=new CdViewVo();
cvv2.setCntrNum("CBHU893437"); cvv2.setSealNum("CBHU893437");
cvv2.setCntrType("40Gp"); cvv2.setObTrafficTerm("bhc");
cvv2.setIbTrafficTerm("P-预付"); cvv2.setPackDesc("");
cvv2.setGrossWt(""); cvv2.setVol("84.23");
//Java对象
JSONObject cvvo=JSONObject.fromObject(cvv);
String cvvs=cvvo.toString();
System.out.println("CdViewVo的json字符串:"+cvvs);
//map集合
Map<String, String> tm=new TreeMap<String, String>();
tm.put("a", "ddd"); tm.put("b", "ccc");
tm.put("c", "bbb"); tm.put("d", "aaa");
JSONArray array=JSONArray.fromObject(tm);
String tmstr=array.toString();
System.out.println("Map集合对应的json字符串:"+tmstr); //list集合
List<CdViewVo> list=new ArrayList<CdViewVo>();
list.add(cvv);
list.add(cvv2);
JSONArray listArr=JSONArray.fromObject(list);
String listStr=listArr.toString();
System.out.println("listStr集合对应的json字符串:"+listStr);
}
}
运行结果如下:
CdViewVo的json字符串:{"cntrNum":"CBHU898637","cntrType":"20Gp","grossWt":"","ibTrafficTerm":"P-预付","obTrafficTerm":"jkd","packDesc":"","packNum":"","sealNum":"CBHU898637","vol":"54.23"}
Map集合对应的json字符串:[{"a":"ddd","b":"ccc","c":"bbb","d":"aaa"}]
listStr集合对应的json字符串:[{"cntrNum":"CBHU898637","cntrType":"20Gp","grossWt":"","ibTrafficTerm":"P-预付","obTrafficTerm":"jkd","packDesc":"","packNum":"","sealNum":"CBHU898637","vol":"54.23"},
{"cntrNum":"CBHU893437","cntrType":"40Gp","grossWt":"","ibTrafficTerm":"P-预付","obTrafficTerm":"bhc","packDesc":"","packNum":"","sealNum":"CBHU893437","vol":"84.23"}]
三、Java对象转换为Json字符串
import net.sf.json.JSONArray;
import net.sf.json.JSONObject; public class TestCd {
public static void main(String[] args) {
jsonStrToJava();
}
private static void jsonStrToJava(){
String jsonStr="{\"cntrNum\":\"CBHU898637\",\"cntrType\":\"20Gp\",\"grossWt\":\"100\"," +
"\"ibTrafficTerm\":\"P-预付\",\"obTrafficTerm\":\"jkd\",\"packDesc\":\"12\"," +
"\"packNum\":\"\",\"sealNum\":\"CBHU898637\",\"vol\":\"54.23\"}";
JSONObject java=JSONObject.fromObject(jsonStr);
CdViewVo cvv=(CdViewVo) JSONObject.toBean(java,CdViewVo.class);
System.out.println("cntrNum: "+cvv.getCntrNum());
}
}
运行结果:
cntrNum: CBHU898637
四、集合转换为Json字符串
String str = "{\"lendperson\":\"李四\",\"lendcompany\":\"有限公司\",\"checkperson\":\"李四\",
\"lenddate\":\"2010-07-19T00:00:00\",\"lendcounts\":4,\"
passports\":[{\"passportid\":\"d\",\"name\":\"李豫川\",\"passporttype\":\"K\"},
{\"passportid\":\"K9051\",\"name\":\"李平\",\"passporttype\":\"K\"},
{\"passportid\":\"K90517\",\"name\":\"袁寒梅\",\"passporttype\":\"K\"},
{\"passportid\":\"K905199\",\"name\":\"贺明\",\"passporttype\":\"K\"}]}";
JSONObject jsonobject = JSONObject.fromObject(str);
PassportLendsEntity passportlends = null;
try {
//获取一个json数组
JSONArray array = jsonobject.getJSONArray("passports");
//将json数组 转换成 List<PassPortForLendsEntity>泛型
List<PassPortForLendsEntity> list = new ArrayList<PassPortForLendsEntity>();
for (int i = ; i < array.size(); i++) {
JSONObject object = (JSONObject)array.get(i);
PassPortForLendsEntity passport = (PassPortForLendsEntity)JSONObject.toBean(object,
PassPortForLendsEntity.class); //转换成Java对象
if(passport != null){
list.add(passport);
}
}
Java:Json与其他Java对象集合的转换的更多相关文章
- JSON字符串和JS对象之间的转换
JSON字符串和JS对象之间的转换 1 json字符串转换为js对象 1.1 标准json格式字符串转换为Js对象 JSON字符串 str JSON.parse(str) eval(str) eva ...
- java json数据转List对象的集合-----阿里巴巴插件---及原生json---JSON 与 对象 、集合 之间的转换 JSON字符串和java对象的互转【json-lib】
List<RunfastFullLess> list=(List<RunfastFullLess>)JSONArray.parseObject(activity.getFull ...
- 【java/Json】用Java对象构建Json语法树
本文后续:https://www.cnblogs.com/xiandedanteng/p/11973129.html 编译第一步:将文本解析成Java对象构成的语法树 第二步:将语法树输出整形好的Js ...
- Java Json字符串转Java对象遇到属性大小写的问题解决
String objectStr="{\"namE\":\"JSON\",\"age\":\"24\",\&q ...
- java中拼接两个对象集合
目标: 根据两个list中每条记录的某个属性是否相同来拼接. 1.首先定义一个字符串 String str = "[{\"ITEMID\":2,\"ITEMN ...
- Scala和Java的List集合互相转换
import java.util import scala.collection.mutable /** * 集合互相转换 */ object ScalaToJava { def main(args: ...
- JAVA中java.util.Date、java.sql.Timestamp和String之间的互相转换
java.util.Date与的String互转 java.util.Date---->String /** * 将java.util.Date对象转化为String字符串 * @param d ...
- java json与对象或者集合互转
package open_exe; public class User { private int id; private String name; private String gender; pu ...
- Json——使用Json jar包实现Json字符串与Java对象或集合之间的互相转换
总结一下利用Json相关jar包实现Java对象和集合与Json字符串之间的互相转换: 1.创建的User类: package com.ghj.packageofdomain; public clas ...
随机推荐
- [C#网络编程系列]专题一:网络协议简介
转自:http://www.cnblogs.com/zhili/archive/2012/08/11/NetWorkProgramming.html 因为这段时间都在研究C#网络编程的一些知识, 所以 ...
- C#设计模式(23种设计模式)
转自:http://www.cnblogs.com/abcdwxc/archive/2007/10/30/942834.html 创建型: 1. 单件模式(Singleton Patte ...
- (转载)mysql分屏显示结果
(转载)http://blog.csdn.net/wylkeke/article/details/7280645 linux机器: 在mysql命令行输入pager more就可以分屏显示结果了,取消 ...
- CG&Game资源(转)
cg教程下载: http://cgpeers.com http://cgpersia.com http://bbs.ideasr.com/forum-328-1.html http://bbs.ide ...
- Python初始值表示为无穷大
之前只知道设置变量的初始值为0.今天在写网络路径分析的时候,为了找到离任意坐标距离最近的节点,初始设置最短距离为无穷大,然后不断的去替换,直到找到最近的节点. 刚开始设置是min_dis = 9999 ...
- Android开发必知--WebView加载html5实现炫酷引导页面
大多数人都知道,一个APP的引导页面还是挺重要的,不过要想通过原生的Android代码做出一个非常炫酷的引导页相对还是比较复杂的,正巧html5在制作炫酷动画网页方面比较给力,我们不妨先利用html5 ...
- sqrt (x) 牛顿迭代法
参考: 0开方 是 0 1的开方式 1 2的开方式 1.4 3.的开方=(1.4+3/1.4)/2 牛顿迭代法:学习自 http://blog.csdn.net/youwuwei2012/articl ...
- Java中static和final的区别
static是静态修饰关键字,可以修饰变量和程序块以及类方法: 当定义一个static的变量的时候jvm会将将其分配在内存堆上,所有程序对它的引用都会指向这一个地址而不会重新分配内存: 当修饰一个程序 ...
- hdoj 1789 Doing Homework again
Doing Homework again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- [课堂实践与项目]手机QQ客户端--4期(SQLite的加入,注册,找回,登录界面的修改):建立关于QQ注册类,使用SQLite进行存储,
经过昨天下午和今天上午的不懈努力,终于通过了SQLite的学习. 我们现在这里定义一个有关SQLIte的封装类,便于我在后面的用户注册,用户密码找回,和登录界面的使用 1.首先我们看看我们建立的use ...