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 ...
随机推荐
- 拷贝出你GAC里面的DLL文件
转:http://blog.sina.com.cn/s/blog_573be9bc0100ht65.html 早上和同事探讨如何从GAC中拷贝已经部署的DLL文件的时候,除了以前熟悉的命令行拷贝方法, ...
- 基于SharePoint 的企业信息平台架构
- HDU-1686 Oulipo
学习:重点理解这句话的意思: next[j]会告诉我们从哪里开始匹配 模板题. Oulipo Time Limit: 3000/1000 MS (Java/Others) Memory ...
- python 零散记录(一) input与raw_input 数学相关函数 转换字符串的方法
input()与raw_input(): 两者都是接受命令行输入,但区别在于,raw_input()接受原始数据(raw data). #使用input()来提示输入名字 input("en ...
- 白帽子讲Web安全1.pdf
第一章 我的安全世界观 安全是一个持续过程 6种威胁:Spoofing(伪装).Tampering(篡改).Repudiation(抵赖).InformationDisclosure(信息泄漏).De ...
- 三大跨平台网盘--dropbox
背景介绍 Dropbox是一个提供同步本地文件的网络存储在线应用.支持在多台电脑多种操作中自动同步.并可当作大容量的网络硬盘使用. 准备工作 帐号--dropbox官网 软件--windows/ubu ...
- What does wildcard address in InetSocketAddress mean?
In the docs for the constructor InetSocketAddress(int port) it says: Creates a socket address where ...
- 【bzoj3172】 [Tjoi2013]单词
题目描述 某人读论文,一篇论文是由许多单词组成.但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次. 输入 第一个一个整数N,表示有多少个单词,接下来N行每行一个单词.每个 ...
- Js- 菜单
很简单的JS二级菜单显示,收藏 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht ...
- 转载-Linux下搭建VPN服务器(CentOS、pptp)
转自:http://www.cnblogs.com/sixiweb/archive/2012/11/20/2778732.html 搭建过程参考这篇文章 先说我搭建过程中出现的问题吧: 按照 教程搭建 ...