这个字怎么写XML转为json怎么写?

SpringMVC生成JSON(二) - To Strive To Seek To Find
Not To Yield - ITeye技术网站
博客分类:
基于上一篇文章的代码基础上 开始Jackson之旅。
一、准备工作
Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。
相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些。
1、 下载依赖库jar包
Jackson的jar all下载地址:
如果你需要转换xml,那么还需要stax2-api.jar
二、Java对象转换成JSON
1、 JavaBean(Entity/Model)转换成JSON
* 1、Entity(JavaBean/Model)转换成JSON
JsonGenerator的writeObject方法和ObjectMapper的writeValue方法完成对Java对象的转换,二者传递的参数及构造的方式不同;
JsonGenerator的创建依赖于ObjectMapper对象,也就是说如果你要使用JsonGenerator来转换JSON,那么你必须创建一个ObjectMapper。
但是你用ObjectMapper来转换JSON,则不需要JSONGenerator。
public void Entry2Json(){
user = new User();
user.setUsername("wy");
user.setPassword("321");
user.setAge(23);
user.setSex("man");
user.setBirthday(new SimpleDateFormat("yyyy-MM-dd hh:mm:ssd hh:mm:ss").format(new Date()));
("==============Java Bean &&& JSON Object==================");
("==============(JsonGenerator)Java Bean &&& JSON Object==================");
jsonGenerator.writeObject(user);
System.out.println();
("==============(ObjectMapper)Java Bean &&& JSON Object==================");
objectMapper.writeValue(System.out, user);
this.destroy(jsonGenerator);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
上面分别利用JsonGenerator的writeObject方法和ObjectMapper的writeValue方法完成对Java对象的转换,二者传递的参数及构造的方式不同;JsonGenerator的创建依赖于ObjectMapper对象。也就是说如果你要使用JsonGenerator来转换JSON,那么你必须创建一个ObjectMapper。但是你用ObjectMapper来转换JSON,则不需要JSONGenerator。
objectMapper的writeValue方法可以将一个Java对象转换成JSON。这个方法的参数一,需要提供一个输出流,转换后可以通过这个流来输出转换后的内容。或是提供一个File,将转换后的内容写入到File中。当然,这个参数也可以接收一个JSONGenerator,然后通过JSONGenerator来输出转换后的信息。第二个参数是将要被转换的Java对象。如果用三个参数的方法,那么是一个Config。这个config可以提供一些转换时的规则,过指定的Java对象的某些属性进行过滤或转换等。
2、将List集合转换成Json字符串
* 2、将List集合转换成Json字符串
public void list2Json(){
List&User& userList = new ArrayList&User&();
for(int i=0;i&3;i++){
user = new User();
user.setUsername("wy"+i);
user.setPassword("321"+i);
user.setAge(23+i);
user.setSex("man"+i);
user.setBirthday(new SimpleDateFormat("yyyy-MM-dd hh:mm:ssd hh:mm:ss").format(new Date())+" "+i);
userList.add(user);
("==============Java List &&& JSON Object==================");
("==============(JsonGenerator)Java Bean &&& JSON Object==================");
jsonGenerator.writeObject(userList);
System.out.println();
("==============(ObjectMapper)Java Bean &&& JSON Object==================");
System.out.println("ObjectMapper 第一种方式:"+objectMapper.writeValueAsString(userList));
System.out.print("ObjectMapper 第二种方式:");
objectMapper.writeValue(System.out, userList);
this.destroy(jsonGenerator);
} catch (JsonProcessingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
3、将Map集合转换成Json字符串
* 3、将Map集合转换成Json字符串
public void map2Json(){
user = new User();
user.setUsername("wy");
user.setPassword("321");
user.setAge(23);
user.setSex("man");
user.setBirthday(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()));
Map&String, Object& map = new HashMap&String, Object&();
map.put("bool", Boolean.TRUE);
map.put("int", 321);
map.put("Long", 321.01);
map.put("Str", "wy");
map.put("array", new String[]{"wy", "321"});
map.put("func", "function(i){ return this.arr[i]; }");
map.put("user", user);
("==============Java Map &&& JSON Object==================");
("==============(JsonGenerator)Java Bean &&& JSON Object==================");
jsonGenerator.writeObject(map);
System.out.println();
("==============(ObjectMapper)Java Bean &&& JSON Object==================");
objectMapper.writeValue(System.out, map);
this.destroy(jsonGenerator);
} catch (JsonProcessingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
4、下面来看看jackson提供的一些类型,用这些类型完成json转换;
如果你使用这些类型转换JSON的话,那么你即使没有JavaBean(Entity)也可以完成复杂的Java类型的JSON转换。
下面用到这些类型构建一个复杂的Java对象,并完成JSON转换。
* 4、Jackson提供的一些类型,用这些类型完成json转换;
如果你使用这些类型转换JSON的话,那么你即使没有JavaBean(Entity)也可以完成复杂的Java类型的JSON转换。
public void object2Json(){
String[] arr = { "a", "b", "c" };
String str = "hello world jackson!";
("==============(JsonGenerator)Java Bean &&& JSON Object==================");
jsonGenerator.writeBinary(str.getBytes());
// boolean
jsonGenerator.writeBoolean(true);
jsonGenerator.writeNull();
jsonGenerator.writeNumber(2.2f);
jsonGenerator.writeRaw("c");
jsonGenerator.writeRaw(str, 5, 10);
jsonGenerator.writeRawValue(str, 5, 5);
jsonGenerator.writeString(str);
jsonGenerator.writeTree(JsonNodeFactory.instance.POJONode(str));
System.out.println();
System.out.println("-----------------------------------------");
jsonGenerator.writeStartObject();// {
jsonGenerator.writeObjectFieldStart("user");// user:{
jsonGenerator.writeStringField("name", "wy");// name:wy
jsonGenerator.writeBooleanField("sex", true);// sex:true
jsonGenerator.writeNumberField("age", 23);// age:23
jsonGenerator.writeEndObject();// }
jsonGenerator.writeArrayFieldStart("infos");// infos:[
jsonGenerator.writeNumber(23);// 23
jsonGenerator.writeString("this is array");// this is array
jsonGenerator.writeEndArray();// ]
jsonGenerator.writeEndObject();// }
System.out.println();
// complex Object
jsonGenerator.writeStartObject();// {
jsonGenerator.writeObjectField("infos", arr);// infos:[array]
jsonGenerator.writeEndObject();// }
this.destroy(jsonGenerator);
} catch (Exception e) {
e.printStackTrace();
三、JSON转换成Java对象
1、 将json字符串转换成JavaBean对象
* 5、将json字符串转换成JavaBean对象
objectMapper.readValue()
第一个参数就是解析的JSON字符串,第二个参数是即将将这个JSON解析成Java对象的类型
public void json2Entry(){
("==============JSON Object String &&& Java Bean ==================");
User user = objectMapper.readValue(json, User.class);
} catch (JsonParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JsonMappingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
2、Json字符串转换成Array
* 6、Json字符串转换成Array
public void json2Array(){
json = "[" + json + "]";
("==============JSON Object String &&& Array ==================");
User[] user = objectMapper.readValue(json, User[].class);
} catch (JsonParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JsonMappingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
3、Json字符串转换Map集合
* 7、Json字符串转换Map集合
public void json2Map(){
json = "{\"wy\":"+ json +",\"success\":true}";
("==============JSON Object String &&& Map ==================");
Map&?, ?& map = objectMapper.readValue(json, Map.class);
} catch (JsonParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JsonMappingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
4、Json字符串转换List集合
* 8、Json字符串转换List集合
public void json2List(){
json = "[" + json + "]";
("==============JSON Object String &&& List ==================");
List&?& list = objectMapper.readValue(json, List.class);
} catch (JsonParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JsonMappingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
四、将JSON返回到页面象
1、HttpServletResponse response
* 9、将JSON返回到页面
/*@RequestMapping(value="/returnJackson", method=RequestMethod.GET)
public void commonReturnType(HttpServletResponse response){
user = new User();
user.setUsername("wy");
user.setPassword("321");
user.setAge(23);
user.setSex("man");
user.setBirthday(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()));
("==============Java Bean &&& JSON Object==================");
("==============(ObjectMapper)Java Bean &&& JSON Object==================");
objectMapper.writeValue(response.getWriter(), user);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
2、PrintWriter out
/*@RequestMapping(value="/returnJackson", method=RequestMethod.GET)
public void commonReturnType(PrintWriter out){
user = new User();
user.setUsername("wy");
user.setPassword("321");
user.setAge(23);
user.setSex("man");
user.setBirthday(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()));
("==============Java Bean &&& JSON Object==================");
("==============(ObjectMapper)Java Bean &&& JSON Object==================");
objectMapper.writeValue(out, user);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
3、ModelAndView mav
@RequestMapping(value="/returnJackson", method=RequestMethod.GET)
public ModelAndView commonReturnType(){
user = new User();
user.setUsername("wy");
user.setPassword("321");
user.setAge(23);
user.setSex("man");
user.setBirthday(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()));
("==============Java Bean &&& JSON Object==================");
ModelAndView mav = new ModelAndView();
mav.addObject("json", objectMapper.writeValueAsString(user));
} catch (JsonGenerationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JsonMappingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
mav.setViewName("returnJson");
附件是完整的Contoller。
下载次数: 210
浏览: 316692 次
来自: 北京
经测试,if(batch==500){
[b]发生的方式[/b]
没看到使用threadlocal来实现线程安全,怎么回事?
怪不得,我现在做测试还没有导入证书,单点退出时,虽然casse ...
帮了大忙!感谢楼主!xml-json-c 很好用的xml、 转换源码,大家看看啊 Linux-Unix program 182万源代码下载-
&文件名称: xml-json-c
& & & & &&]
&&所属分类:
&&开发工具: Visual C++
&&文件大小: 143 KB
&&上传时间:
&&下载次数: 4
&&提 供 者:
&详细说明:很好用的xml、json转换源码,大家看看啊-Good with xml, json conversion source, we look
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&新建文件夹\.gitignore&&..........\.svn\entries&&..........\....\format&&..........\....\pristine\04\045c70e9cc54742bd5fcf8d49592ccc69934efd5.svn-base&&..........\....\........\.b\0bb7a327b33ee76e38164f1fbe0be7bf.svn-base&&..........\....\........\.d\0dac584ee3e5af89a75e08.svn-base&&..........\....\........\12\ccee165a94e680b73751bdfe6a4665.svn-base&&..........\....\........\.4\14daafeb416c5dd45f1cdb0.svn-base&&..........\....\........\.7\17dcbe7f11f0dc59c7b.svn-base&&..........\....\........\.a\1abfebd7d8c54d05c65f.svn-base&&..........\....\........\.c\1c625c66c3cb9e0c0b.svn-base&&..........\....\........\24\24be7eceb4f60a3bd73d9.svn-base&&..........\....\........\.9\cd5ae2e7a.svn-base&&..........\....\........\..\294bdbce3dd9c32ec.svn-base&&..........\....\........\38\38bbd62bfe8d40ee70938.svn-base&&..........\....\........\.e\3ec6ef050d4d6544b4e.svn-base&&..........\....\........\.f\3fdc6bd2b9eafba17.svn-base&&..........\....\........\40\40eade9d9e280f15cb638cc9ce5ca.svn-base&&..........\....\........\.7\47346adaea987c2f565dfadc15aa60c7e59f0087.svn-base&&..........\....\........\.8\483a664c6c8d17ed749f41d5f1fca15e.svn-base&&..........\....\........\.d\4df286f4ddfe58eefe6.svn-base&&..........\....\........\.e\4e461f157bdf61a3ffcb.svn-base&&..........\....\........\67\674b5a9a40eecfdbea5dc25b2c1267.svn-base&&..........\....\........\70\70e792e6ee2d6a0bf3ee538efacfd88fa104d3c1.svn-base&&..........\....\........\.6\769e213db93f0f9a47b73ddea29e9f542ab58975.svn-base&&..........\....\........\.b\7bbda132e77a4034fea450c24762d.svn-base&&..........\....\........\83\83eb00dd0eba0c7a70f215b76bfd1a552cc44fee.svn-base&&..........\....\........\.4\84dc8d167bfbd4b64e21e0f26bb7701.svn-base&&..........\....\........\.7\8733fcde0f7c26c47.svn-base&&..........\....\........\9e\9e9ccd7c9c1b7d0bf191d6b74a4fa95e.svn-base&&..........\....\........\a5\a541cc1a7f90f324cd484f6e370da.svn-base&&..........\....\........\.c\ac8bb240ddbdd60dbd8b9.svn-base&&..........\....\........\..\ac99df35b7da0f0a74bfdc35061a2.svn-base&&..........\....\........\.e\aedea694e26a1d5f36224c83efd516dc7c5c0189.svn-base&&..........\....\........\b1\b12518f37daed113ddc5c94a6c3a2c8c530c29eb.svn-base&&..........\....\........\.2\b2a067f73f6523e4aef99c6d486b3.svn-base&&..........\....\........\.4\b447ffc06a38f834b655b1fb260a79.svn-base&&..........\....\........\..\b49c2a6cbb572bdb6c09fc78a850cf.svn-base&&..........\....\........\.9\b920e5daaf806e08cb4a3b80c1bd7e4.svn-base&&..........\....\........\.b\bbbba06e02d672d977d9fd0c67c2df1e.svn-base&&..........\....\........\..\bbf1d3e8f3ae131bdbdffca5d9fee.svn-base&&..........\....\........\c1\c141eb5a7869c67cbd859e214ce565.svn-base&&..........\....\........\.6\c68f20edefcb84bdac5f3acfbbf7085.svn-base&&..........\....\........\.a\ca9ca398d58f991f928e70df6d634aed2a7e540b.svn-base&&..........\....\........\.f\cfc9fce04a8ee112b6a.svn-base&&..........\....\........\d4\d47fdb3b127a78bcfb6a850e7c37783.svn-base&&..........\....\........\.8\d8a607ffabf6d541fe85.svn-base&&..........\....\........\.9\d5b4a2fd248b68a614e.svn-base&&..........\....\........\.a\da39a3ee5e6b4b0d3255bfefafd80709.svn-base&&..........\....\........\.b\dbf3ba44f3b39b0ff3aed1340d32.svn-base&&..........\....\........\e1\e1d5e30ed8cba0d1f51edab91ee5a2d9c837c5b9.svn-base&&..........\....\........\.7\e7e818e29dc84c763b4.svn-base&&..........\....\........\.e\ee22c6c9d94870cfc654f585eed4.svn-base&&..........\....\........\f0\f0f2d12dab77b585ca02a.svn-base&&..........\....\........\.7\ff5ed5c09c4c35aeb0e8c3.svn-base&&..........\....\........\..\f7eea5bff300d580d4d391ac522030.svn-base&&..........\....\........\.c\fc5b217de7a308ae96f0fca5a9f260a3e8b31dbb.svn-base&&..........\....\wc.db&&..........\arraylist.c&&..........\arraylist.h&&..........\AUTHORS&&..........\autogen.sh&&..........\bits.h&&..........\ChangeLog&&..........\config.h.in&&..........\config.h.win32&&..........\configure.in&&..........\COPYING&&..........\debug.c&&..........\debug.h&&..........\Doxyfile&&..........\INSTALL&&..........\json-c.vcproj&&..........\json.h&&..........\json.pc.in&&..........\json_inttypes.h&&..........\json_object.c&&..........\json_object.h&&..........\json_object_private.h&&..........\json_tokener.c&&..........\json_tokener.h&&..........\json_util.c&&..........\json_util.h&&..........\linkhash.c&&..........\linkhash.h&&..........\Makefile.am&&..........\NEWS&&..........\parse_int64.test&&..........\printbuf.c&&..........\printbuf.h&&..........\README&&..........\README-WIN32.html&&..........\README.html&&..........\test-defs.sh&&..........\test1.c&&..........\test1.expected&&..........\test1.test&&..........\test2.c&&..........\test2.expected&&..........\test2.test
&近期下载过的用户:
&输入关键字,在本站182万海量源码库中尽情搜索:
&[] - json解析器,基于jsonc的class封装,更加方便
&[] - google编码规范,包含C++,java, python, json等语言
&[] - 使用c语言在linux开发环境下编写的,用来读写ini文件
&[] - 1、Librame.Caching(缓存功能)
支持文件缓存与 SQL 缓存依赖;
支持缓存队列、支持线程安全等功能;(比System.Web.Caching 更加强大)
2、Librame.Language(多语种功能)
支持枚举、异常、框架、其它等类型的多语言配
&[] - 在linux,unix平台下可以完成xml分析读写的高效程序。投放本站广告请联系:
Sencha相关书籍
在线将XML转换为JSON
Posted 周六, 05/03/2008 - 01:45 by
大家是否有时候要将XML转换为JSON的情况?如果自己再去写代码来转,实在是华不来。于是乎就有了这个在线XML转换为JSON的程序了。欢迎大家测试,有问题请留言,一定尽快回复!
在线转换地址:
界面预览:
如果大家对这个程序有兴趣,请联系电邮给我,我将会把源代码发送给你。联系邮件见网站底部。
如果人数太多,将会提供下载地址。(空间商限制了流量,不敢随便提供下载)
&&&&由于最近收到的邮件太多,现提供下载源代码的链接。
&&&&下载地址:
版主,我已发email 给你了,邮箱是(#代替@),请给我一份,真是感恩...
已回复你邮件。
麻烦版主发给我一份,谢谢!我的邮箱是.cn (#换成@)。
由于人數太多,現把下載地址一并提供。
下載地址見文章正文部分。
本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循“署名-非商业用途-保持一致”的创作共用协议.JSON代码怎么转换成XML代码?_百度知道
JSON代码怎么转换成XML代码?
&quot: &closed&id&quot:&quot: 1;权限资源& } ]};text&quot: [ {
&元数据&quot, {
&children& : &;dataview&quot: &text&,
&children&quot,
&text&角色维护&quot,
&; ;text&text& ;;;user&state&;text&quot: [ {
&编辑样式& }: &icon-reload& : & : &: &quot, {
&quot: &text&quot, {
& ;系统维护&;iconCls&role&
} ] };children&quot, { &quot, &quot: &id&数据视图&quot,
& : &quot: & : [ {
&人员维护& ; ;id& ; }]} ]这段代码怎么转换成XML代码; ;;开发维护&text&quot[ { & ;id&quot
提问者采纳
&dataview&/closed&text&1;角色维护&/
&root&/ &iconCls&text&text&
&lt网上都有XML和json互相转换的工具;children&
&/ &数据视图&
&text&gt。注意XML必须有单一的根节点;text&/children&
&id&开发维护&state&/
&text&/id&/
&children&
&/text&text&node&id&
&iconCls&node&
&children&&#47?xml version=&id&node&
&lt。 &text&系统维护&
&text& &编辑样式&&text&;/role&lt.0&id&/node&权限资源&text&//id&元数据&
&state&/icon-reload&text&children& encoding=&人员维护&
&id& & ;children&
&text&/root&/
&1&id&//children&/children&text&children&children&user&&
&children&gt,在线就可以转换
提问者评价
其他类似问题
按默认排序
其他1条回答
Boolean&),&quot.Append(& /)
/ || columnType == & i++)
DataRow row = table://
return json.IsNull(columnName) ;{0}\; ;&&{0}\&#92.net/onlyzhangqin/archive//2253965.Rows[i];Int16&quot:http, row.Columns[j];}&
/ table.IsNull(columnName) :\ don';; json field
if (columnType == &{0}\\&quot.Append(&/&\);{1}\);
// add comma if not last row
}&;;;&quot.AppendFormat(&
for (int j = 0; ; j &lt.Append(&&quot.R
if (i &lt.csdn.aspxpublic static string DataTableToJSON(DataTable table)
StringBuilder json = new StringBuilder(););
for (int i = 0; make the bool value lowercase
&.Count - 1)Int32&quot
哪来的XML?
json的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 这个字怎么写 的文章

 

随机推荐