这两天处理模块的联调工作,在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. 20144306《网络对抗》MAL_逆向与Bof基础

    实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另一个代码片段,getShe ...

  2. JavaScript的基本规范

    1.不要在同一行声明多个变量: 2.请使用===/!==来比较true/false或者数值: 3.使用对象字面量替代new Array这种形式: 4.Switch语句必须带有default分支: 5. ...

  3. spring切面编程AOP 范例一

    参照网上的spring AOP编程实例进行配置,但是碰到了几个坑.这篇文章重点讲解一下我踩过的两个坑: 1.使用@Service自动装配的时候,基础扫描包配置要正确: 2.xml中切面配置中的exec ...

  4. PHP流程管理,堪比小小程序

    这个流程管理是从用户登录界面开始,然后提交申请,页面逐级审核通过.这个做起来其实挺简单,只是在某些逻辑方面需要 好好考虑一下. 登录页面就不再多说了,如果要存session的话,我们可以建一个假的登录 ...

  5. Linux云自动化运维第四课

    Linux云自动化运维第四课 一.vim 1.vim光标移动 1)在命令模式下 :数字  ###移动到指定的行 G  ###文件最后一行 gg  ###文件第一行 2)在插入模式下 i  ###光标所 ...

  6. CSS常见兼容性问题总结

    原文链接:渔人码头 http://www.cnblogs.com/imwtr/p/4340010.html?utm_source=tuicool&utm_medium=referral 浏览器 ...

  7. css3特效

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title> ...

  8. 学习了php之后再来看php怎样学java

    我用了一天时间学会了php,真的.我现在已经可以流畅的用thinkphp框架开发php了.学习过程是这样的:我接了个php的项目,包括两个部分:老系统添加功能和优化,再新做一个系统.已经答应给人家做了 ...

  9. 老李知识普及:web安全性的两大权威组织

    老李知识普及:web安全性的两大权威组织 两个重要的WEB应用安全组织-WASC/OWASPWeb Application Security Consortium (WASC)a.WEB应用安全标准的 ...

  10. 一个GOOD的Idea需要伯乐发觉-致敬错过的IDEA

    类似一个微信电话本