一、引入的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对象集合的转换的更多相关文章

  1. JSON字符串和JS对象之间的转换

    JSON字符串和JS对象之间的转换 1 json字符串转换为js对象 1.1 标准json格式字符串转换为Js对象  JSON字符串 str JSON.parse(str) eval(str) eva ...

  2. java json数据转List对象的集合-----阿里巴巴插件---及原生json---JSON 与 对象 、集合 之间的转换 JSON字符串和java对象的互转【json-lib】

    List<RunfastFullLess> list=(List<RunfastFullLess>)JSONArray.parseObject(activity.getFull ...

  3. 【java/Json】用Java对象构建Json语法树

    本文后续:https://www.cnblogs.com/xiandedanteng/p/11973129.html 编译第一步:将文本解析成Java对象构成的语法树 第二步:将语法树输出整形好的Js ...

  4. Java Json字符串转Java对象遇到属性大小写的问题解决

    String objectStr="{\"namE\":\"JSON\",\"age\":\"24\",\&q ...

  5. java中拼接两个对象集合

    目标:  根据两个list中每条记录的某个属性是否相同来拼接. 1.首先定义一个字符串 String str = "[{\"ITEMID\":2,\"ITEMN ...

  6. Scala和Java的List集合互相转换

    import java.util import scala.collection.mutable /** * 集合互相转换 */ object ScalaToJava { def main(args: ...

  7. JAVA中java.util.Date、java.sql.Timestamp和String之间的互相转换

    java.util.Date与的String互转 java.util.Date---->String /** * 将java.util.Date对象转化为String字符串 * @param d ...

  8. java json与对象或者集合互转

    package open_exe; public class User { private int id; private String name; private String gender; pu ...

  9. Json——使用Json jar包实现Json字符串与Java对象或集合之间的互相转换

    总结一下利用Json相关jar包实现Java对象和集合与Json字符串之间的互相转换: 1.创建的User类: package com.ghj.packageofdomain; public clas ...

随机推荐

  1. 详解Makefile 函数的语法与使用

    使用函数: 在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能.make所支持的函数也不算很多,不过已经足够我们的操作了.函数调用后,函数的返回值可以当做变量来使 ...

  2. devi into python 笔记(五)异常 文件操作 sys os glob模块简单实用

    异常: Java异常: try catch块处理异常,throw引发异常. Python异常: try except块处理异常,raise引发异常. 异常如果不主动处理,则会交给Python中的缺省处 ...

  3. nyoj 经典的连续字串和

    import java.util.Scanner; public class 字串和 { public static void main(String[] args) { // TODO Auto-g ...

  4. linux 命令拾遗

    man ascii 这个命令会打印出八进制.十六进制和十进制的ASCII码表. xxd xxd可以生成所给与文件的十六进制拷贝,也可以将编辑好的十六进制拷贝还原成二进制格式.它也可以将十六进制拷贝输出 ...

  5. ORM介紹及ORM優點、缺點

      主要內容: 1.ORM的概念 2.為什麽要使用ORM 3.ORM的優缺點 4..Net中有那些ORM產品 5.總結 一.ORM的概念 ORM,即Object-Relational Mapping( ...

  6. java接口相关例题

    java接口相关习题 interface Graphics{  //接口里面只能用抽象方法  public abstract double area();    }//设置 平面类class Plan ...

  7. 食品药检所LIMS需求分析说明书

    1.XX市食品药检所LIMS系统需求分析... 5 1.1检验业务流程... 5 1.1.1样品受理... 5 1.1.1.1选择受理任务... 5 1.1.1.2录入检品信息... 5 1.1.1. ...

  8. hadoop启动后jps查不到namenode的解决办法

    最近由于项目需要开始接触hadoop,在配置伪分布式启动后,jps查询进程发现少了namenode,而DataNode却存在. 下面是我的core-site.xml和hdfs-site.xml配置: ...

  9. tar linux 打包 压缩 gzip 命令说明

    参数:-c  :建立一个压缩档案的参数指令(create 的意思):-x  :解开一个压缩档案的参数指令!-t  :查看 tarfile 里面的档案!      特别注意,在参数的下达中, c/x/t ...

  10. Java GC 概念摘要

    很长时间,我想Java的GC做一个小小的总结,他有没有时间.根据最近看了java paper向上java gc文章,我觉得好,读读.顺便说一下,总结下. java paper的GC文章地址,里面有非常 ...