java list 转json对象_JSON--List集合转换成JSON对象
1. 简单的手动放置 键值对 到JSONObject,然后在put到JSONArray对象里
List al =articleMng.find(f);
System.out.println(al.size());
HttpServletResponse hsr=ServletActionContext.getResponse();if(null ==al){return;
}for(Article a : al){
System.out.println(a.getId()+a.getDescription()+a.getTitle());
} JSONArray json= new JSONArray();for(Article a : al){ JSONObject jo= newJSONObject(); jo.put("id", a.getId());
jo.put("title", a.getTitle());
jo.put("desc", a.getDescription());
json.put(jo);
}try{
System.out.println(json.toString());
hsr.setCharacterEncoding("UTF-8"); hsr.getWriter().write(json.toString()); }catch(IOException e) {
e.printStackTrace();
}
上述代码JSONArray是引入的org.json.JSONArray包
而用net.sf.json包下JSONArray的静态方法:fromObject(list) 这是网上大多是都是直接用此方法快捷转换JSON,但是对于Hibernate级联操作关联的对象,这个方法就会报错,如果将映射文件中的级联配置去掉就行了。
另外对于list的要求就是其中的元素是字符串或对象,否则JSON不知道你想要的是什么数据。
但是级联操作毕竟还是得存在,否则以后数据冗余、多余。
解决方法就是:JSONArray subMsgs = JSONArray.fromObject(object, config);
JsonConfig config = newJsonConfig();
config.setJsonPropertyFilter(newPropertyFilter() {public booleanapply(Object arg0, String arg1, Object arg2) {if (arg1.equals("article") ||arg1.equals("fans")) {return true;
}else{return false;
}
}
});
说明:提供了一个过滤作用,如果遇到关联的对象时他会自动过滤掉,不去执行关联关联所关联的对象。这里我贴出我hibernate中的配置关系映射的代码帮助理解:
总结:
1. JSONArray subMsgs = JSONArray.fromObject(subMessages, config);其中config是可选的,当出现上面的情况是可以配置config参数,如果没有上面的那种需求就可以直接使用fromObject(obj)方法,它转换出来的就是标准的json对象格式的数据,如下:
{["attr", "content", ...}, ...]}
2. JSONObject jTmsg = JSONObject.fromObject(themeMessage, config);这是专门用来解析标准的pojo,或者map对象的,pojo对象的格式就不用说了,map的形式是这样的{"str", "str"}。
----------------------------------------------------------- 分割 -------------------------------------------------------------------------------------------
对于JSONArray和JSON之前用到想吐了!!!
但是,最近发现个好东西--fastjson (阿里巴巴温少写的一个将Object转为json数据的工具包)
bean
packagecom.nubb.bean;importjava.io.Serializable;public class Person implementsSerializable{private static final long serialVersionUID = 1L;privateString name;private intage;privateString address;publicString getName() {returnname;
}public voidsetName(String name) {this.name =name;
}public intgetAge() {returnage;
}public void setAge(intage) {this.age =age;
}publicString getAddress() {returnaddress;
}public voidsetAddress(String address) {this.address =address;
}
}
JsonUtil
packagecom.nubb.test;importjava.io.IOException;importjava.nio.file.Files;importjava.nio.file.Path;importjava.nio.file.StandardOpenOption;importjava.util.ArrayList;importjava.util.List;importcom.alibaba.fastjson.JSON;importcom.nubb.bean.Person;public classJSONSerializer {private static final String DEFAULT_CHARSET_NAME = "UTF-8";public static String serialize(T object) {returnJSON.toJSONString(object);
}public static T deserialize(String string, Classclz) {returnJSON.parseObject(string, clz);
}public static T load(Path path, Class clz) throwsIOException {returndeserialize(newString(Files.readAllBytes(path), DEFAULT_CHARSET_NAME), clz);
}public static void save(Path path, T object) throwsIOException {if(Files.notExists(path.getParent())) {
Files.createDirectories(path.getParent());
}
Files.write(path,
serialize(object).getBytes(DEFAULT_CHARSET_NAME),
StandardOpenOption.WRITE,
StandardOpenOption.CREATE,
StandardOpenOption.TRUNCATE_EXISTING);
}public static voidmain(String[] args) {
Person person1= newPerson();
person1.setAddress("address");
person1.setAge(11);
person1.setName("amao");
Person person2= newPerson();
person2.setAddress("address");
person2.setAge(11);
person2.setName("amao");
List lp = new ArrayList();
lp.add(person1);
lp.add(person2);
System.out.println(serialize(lp));
}
}
输出:
[{"address":"address","age":11,"name":"amao"},{"address":"address","age":11,"name":"amao"}]
java list 转json对象_JSON--List集合转换成JSON对象相关推荐
- List集合转换成Json字符串
前言 进行转换我们使用alibaba的json jar:com.alibaba.fastjson.jar 1.导入依赖或者直接导入jar <dependency><groupId&g ...
- 从数据库查询出来的数据集合转换成 json 类型
2019独角兽企业重金招聘Python工程师标准>>> java ---------------------------------------------------------- ...
- badatatable转成json_数据表转换成json(DatatableToJson)
#region 转换Table为JSON数据 /// /// 转换Table为JSON数据 /// /// /// public static string TableToJson(DataTable ...
- java 泛型集合 json_将泛型集合转换成分页json数据
[java]代码库package com.sunweb.util.jsonfactory; import java.util.List; import com.sunweb.util.jsonfact ...
- 将对象集合包装成JSON格式
import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.ArrayList; import ...
- Java对象转换成JSON对象/JSON对象转换成JSON字符串/JSON字符串转换成JS对象
文章目录 后端部分 前端部分 后端部分 Option op = new Option("海淀","hd");//java对象转换json对象 JSONObjec ...
- JSON字符串转换成List对象集合
前两天被一个很没意思的问题给难住了,看来最近没有复习巩固,有些知识都忘了怎么运用了. 简单说下: 有一个json字符串,我想通过jackson把json字符串转换成list对象集合,网上找了很多,但都 ...
- java 把map转换成json_map转换成JSON的3种方法
1 json-lib net.sf.json-lib json-lib 2.4 jdk15 import java.util.HashMap; import java.util.Map; import ...
- 把json对象串转换成map对象
2019独角兽企业重金招聘Python工程师标准>>> /** * nc只支持简单的 * 把json对象串转换成map对象 * @param jsonObjStr e ...
最新文章
- 修改jar中的class文件
- Tark钱包面向全球招募优秀上币方,千亿财富等你来拿!
- ftp连接报错:Windows无法访问此文件夹
- 处理DateTime.Now不经过ToString()转换的格式(带有AM、PM)问题
- 机器学习实战:训练自己的YoloV5 [草稿-待完成]
- 9行代码AC——1011 A+B 和 C (15分)
- 模式规则及自动化变量
- springCloud五大组件--Gateway
- 天池 在线编程 最小振幅(排序)
- 用一个比特币买一辆Model3?马斯克血洗空头后,苹果也要跟?
- NHibernate 基础教程
- 大数据笔记_Hadoop基础知识
- Gartner 2020年十大战略科技发展趋势:边缘赋能、区块链、超自动化、人工智能安全等...
- uploadify上传
- Excel将汉字与英文分开
- 关于SOLIDWORKS缩略图预览失败的解决方案
- 设置notepad++背景护眼色
- sourceinsight界面中的英文解释
- 资深项目经理推荐的几款免费/开源项目管理工具
- Python:实现counting sort计数排序算法(附完整源码)
热门文章
- windows搭建WINS服务
- webstorm,phpstorm无法打开设置的问题
- 电力系统监控实验平台QY-PGD20
- php视频点播系统,PHPvod 视频点播系统 v3.1 for php5.4.x
- Linux 多线程编程(三)
- 【微信小程序遇到的坑】微信支付
- Ctrl组合快捷键大全
- 【CAD二次开发】第1.1 AutoCAD .NET API 基础《 了解 AutoCAD 对象层次》
- Python课程设计:Python语言实现自动组卷评卷考试系统
- STM32F103系列芯片原理学习以及LED灯的点亮