这两天处理模块的联调工作,在json与XML转换中出现了一些奇怪的问题,仔细究来,实为对org.json.*包知之太少。
晚上baidu、google一下,找出了问题出现的原因。
在模块中,使用了两个方法,xml2Json()和json2Xml(),主要的问题就出在这两个方法的具体实现上。
XML与JSON相互转换的Java类在org.json.*包中常用的有XML.java和JSONML.java,前一半时间花在了json格式与XML生成
格式的验证上,json数据串格式没有错,只是在转换的时候需要在行尾添加“;”以表示结束。后一半时间花在格式的匹配
上,查阅XML.java和JSONML.java的API,JSONML的toString(JSONObject jo)方法有如下描述:
Reverse the JSONML transformation, making an XML text from a JSONObject. The
JSONObject must contain a "tagName" property. If it has children, then it must have a
"childNodes" property containing an array of objects. The other properties are attributes
with string values.
而XML.java的toString(Object o)方法描述如下:Convert a JSONObject into a well-formed, element-normal XML 
string.它与JSONML的toString()方法相比,形式更通用化,可表示如:"BATCH_TYPE":{"type":"int","content":1}.
如果用JSONML类去处理,生成的json串为:{"childNodes":[1],"type":"int","tagName":"BATCH_TYPE"}。恰如JSONML的
toString所描述的:转换出的json对象必须包含tagName属性,他的子节点必须用childNodes形式表示,其它的属性用字符
串形式的值。

附:

//通过xml获取对应的json串,
private static String xml2Json(String xml)throws JSONException{
JSONObject job = JSONML.toJSONObject(xml);
String rs = job.toString();

return rs;
}

//将json串转换为xml,
private static String json2Xml(String jsonStr) throws JSONException{
JSONObject job = new JSONObject(jsonStr+";");
String jsonXML = (String)JSONML.toString(job); 
return jsonXML;
}

应用版本(version)、平台版本(sdkversion) 、应用版本号(versioncode):注意区分这几个字段。应用版本是开发者提供给用户看的字串版本如2.1.2,而平台版本是应用程序支持的sdk api。应用版本号为一个整数,其值大于等于0.

资源包的md5码(packagemd5):只包含0-9,a-f字符,共32位。请确保位数正确,以及字母为小写

当出现中文时,需要使用<![CDATA[中文]]>,请注意不要丢失<>写成:![CDATA[中文]]

转 JSON与XML转换的更多相关文章

  1. jsonUtils&&Json、Xml转换工具Jackson使用

    1.jsonUtils package com.icil.utils; import java.util.List; import com.fasterxml.jackson.core.JsonPro ...

  2. C#JSON与XML转换

    C#JSON转XML 输入:[{\'name\': \'yancy\',\'value\': \'0\'},{\'name\': \'jieny\',\'value\': \'1\'}] string ...

  3. Java对象、Json、Xml转换工具Jackson使用

    在Java项目中將一个对象转换成一段Json格式的字符串是非常常见的,能够实现这种需求的工具包也比较多,例如Gson.JSON-lib.Jackson等等.本文主要介绍Jackson的使用,Jacks ...

  4. JSON-lib框架,转换JSON、XML不再困难

    Json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对象. 一. 准备工作 ...

  5. Jackson 框架JSON、XML、List、Map直接相互转换

    博客分类: json   参考:http://www.cnblogs.com/hoojo/archive/2011/04/22/2024628.html 在其基础上做了稍微调整 详情见附件 jacks ...

  6. SpringMVC关于json、xml自动转换的原理研究[附带源码分析]

    目录 前言 现象 源码分析 实例讲解 关于配置 总结 参考资料 前言 SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.c ...

  7. 如何在ASP.NET中用C#将XML转换成JSON

    本文旨在介绍如果通过C#将获取到的XML文档转换成对应的JSON格式字符串,然后将其输出到页面前端,以供JavaScript代码解析使用.或许你可以直接利用JavaScript代码通过Ajax的方式来 ...

  8. SpringMVC关于json、xml自动转换的原理研究

    SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/springMVC ...

  9. SpringMVC关于json、xml自动转换的原理研究[附带源码分析 --转

    SpringMVC关于json.xml自动转换的原理研究[附带源码分析] 原文地址:http://www.cnblogs.com/fangjian0423/p/springMVC-xml-json-c ...

随机推荐

  1. js页面跳转常用的几种方式

    第一种: <script language="javascript" type="text/javascript"> window.location ...

  2. 深入浅出数据结构C语言版(1)——什么是数据结构及算法

    在很多数据结构相关的书籍,尤其是中文书籍中,常常把数据结构与算法"混合"起来讲,导致很多人初学时对于"数据结构"这个词的意思把握不准,从而降低了学习兴趣和学习信 ...

  3. Python中的内置函数__init__()的理解

    有点意思,本来我是学习java的.总所周知,java也有构造函数,而python在面向对象的概念中,也有构造函数.它就是 __init__(self) 方法. 其实类似于__init__()这种方法, ...

  4. 一个请求中,ADF、JSF究竟做了哪些工作

    在Oracle ADF开发中,一个请求发生后,经过ADF处理后,我们可以很快得到响应页面,但在请求过程中ADF框架在背后究竟做了什么东西呢?今天让我们一起来了解下,ADF.JSF是基于组件模型的,不同 ...

  5. 【一通百通】C/C++的std标准总结

    C/C++发展很多版本标准,sunsky(本人)早就想理理std标准了,让大家有个清晰的了解. 适用C(或C源代码,如C ++,Objective-C和Objective-C ++)的标准: -ans ...

  6. python实现mysql的读写分离及负载均衡

    Oracle数据库有其公司开发的配套rac来实现负载均衡,目前已知的最大节点数能到128个,但是其带来的维护成本无疑是很高的,并且rac的稳定性也并不是特别理想,尤其是节点很多的时候. 但是,相对my ...

  7. stl1

    #include<iostream> #include<map> #include<string> using namespace std;   map<st ...

  8. php Redis常用命令

    redis是一个很好的缓存工具,下面我们就来介绍一下他怎么使用 启动 Redis 服务src/redis-server或者src/redis-server redis.conf src/Redis-s ...

  9. mysql 分析2 show processlist ;

    show processlist ; 可以查看当前有哪些链接 处于什么状态 分析语句 那些连接处于什么状态 (需要通过脚本观察一段时间内的有运行情况做出统计一直刷新服务器运行状态 ) 当出现下面的几种 ...

  10. HTML5技术实现Web图形图像处理——WebPhotoshop精简版

    WebPhotoshop精简版是利用HTML5技术在Web上实现对图形图像的处理,构建易维护.易共享.易于拓展.实时性的Web图形图像处理平台. 精简版功能包括:图形绘制.图像处理.图像操作.完整版包 ...