错误现象:

错误分析及其解答:

JSONStringer可以直接嵌套JSONArray,JSONArray可以作为
JSONStringer的值。
我错误的原因是本质是:
JSONArray存放的是JSONStringer,
正确的是存放JSONObject。
 
代码如下:
     /**
* 方法名: insertCheckStockDetails(String apiname, List<Map<String,String>>checkStockDetailList)
* 功 能:上传盘点数量
* 参 数:-
* 返回值: -
*/
public String insertCheckStockDetails(String apiname, List<Map<String,String>>checkStockDetailList)
{
//应用级请求参数
JSONStringer appLvlRequestJson;
//应用级请求参数·盘点明细List
//JSONStringer checkStockDetailListJosn = null;;
//追加系统级请求参数
JSONStringer sysLvlRequestJson = null;
//结果集
String strResponse; //结果ArrayList
List<Map<String,String>> checkDetailArrayList = new ArrayList<Map<String,String>>();
try {
//应用级请求参数中的check_stock_detail_list设定属性值
Iterator detailIterator = checkStockDetailList.iterator(); JSONArray checkStockDetailJSONArray = new JSONArray();
while(detailIterator.hasNext()){
Map map = (Map) detailIterator.next(); JSONObject jSONObject = new JSONObject(); jSONObject.put("check_id", map.get("checkid")); jSONObject.put("goods_id", map.get("goodsid")); jSONObject.put("check_amount", map.get("checkamount")); checkStockDetailJSONArray.put(jSONObject);
// JSONStringer checkStockDetailListJosn = new JSONStringer();
// checkStockDetailListJosn.object()
// .key("check_id").value(map.get("checkid"))
// .key("goods_id").value(map.get("goodsid"))
// .key("check_amount").value(map.get("checkamount"))
// .endObject();
// checkStockDetailJSONArray.put(checkStockDetailListJosn);
} //应用级请求参数
appLvlRequestJson = new JSONStringer().object().key("check_stock_detail_list").value(checkStockDetailJSONArray).endObject(); sysLvlRequestJson=SetParamDao.SetJsonparam(apiname,appLvlRequestJson);
} catch (JSONException e1) {
e1.printStackTrace();
}
strResponse=SetParamDao.SetJsonStringCode(sysLvlRequestJson); //1000:没有数据; 500:错误; 999:执行成功; 400:Josn解析格式不正确
return strResponse;
}
 

拼接JSONStringer出现的不正确的情况。的更多相关文章

  1. 65*24=1560<2175 对数据的统计支撑决策假设 历史数据正确的情况下,去安排今后的任务

    没有达到目标,原因不是时间投入不够,而是不用数据决策,不用数据调度定时脚本 [数据源情况统计]----># 近30天,日生效coin数目SELECT COUNT(DISTINCT coin) A ...

  2. HTMLCollection 对象详解,以及为什么循环获取的dom合集操作可能会出现下标不正确的情况?

    有时候循环dom合集,然后操作其中的某些dom之后,发现下标不正确了 比如我们要删除一个dom合集的时候: var selectDom = document.getElementsByClassNam ...

  3. 威联通212 http 在密码正确的情况下无法登录问题解决

    *现象: 1.putty 可以正常登录 2.smb可以正常登录 3.http 提示密码错误或无效 *解决办法: 1.通过putty   ssh登录到设备 2.执行以下代码 [~] # cp /etc/ ...

  4. 基于SURF特征的图像与视频拼接技术的研究和实现(一)

    基于SURF特征的图像与视频拼接技术的研究和实现(一)      一直有计划研究实时图像拼接,但是直到最近拜读西电2013年张亚娟的<基于SURF特征的图像与视频拼接技术的研究和实现>,条 ...

  5. 图像处理之拼接---图像拼接opencv

    基于SURF特征的图像与视频拼接技术的研究和实现(一)      一直有计划研究实时图像拼接,但是直到最近拜读西电2013年张亚娟的<基于SURF特征的图像与视频拼接技术的研究和实现>,条 ...

  6. C# String 字符拼接测试(“+”、string.Format、StringBuilder 比较)

    对于字符串的拼接自己一直有疑问,在何时该用什么方法来拼接?哪种方法更好.更适合. 几种方法 1.“+” 拼接字符串 现在在 C# 中,字符串进行拼接,可以直接用 “+” 而且可以直接用于数字类型的而不 ...

  7. 源码上看 .NET 中 StringBuilder 拼接字符串的实现

    前几天写了一篇StringBuilder与TextWriter二者之间区别的文章(链接).当时提了一句没有找到相关源码,于是随后有很多热心人士给出了相关的源码链接(链接),感谢大家.这几天抽了点时间查 ...

  8. JavaMail邮件发送不成功的那些坑人情况及分析说明

    [我的Segmentfault原文]https://segmentfault.com/a/1190000008030346 前言   JavaMail的使用本身并不难,网上有不少案例,简单易懂,而且有 ...

  9. StringBuilder String string.Concat 字符串拼接速度再议

    首先看测试代码: public class StringSpeedTest { "; public string StringAdd(int count) { string str = st ...

随机推荐

  1. 平衡二叉树,AVL树之图解篇

    学习过了二叉查找树,想必大家有遇到一个问题.例如,将一个数组{1,2,3,4}依次插入树的时候,形成了图1的情况.有建立树与没建立树对于数据的增删查改已经没有了任何帮助,反而增添了维护的成本.而只有建 ...

  2. eq相等 ne、neq不相等, gt大于, lt小于 gte、ge大于等于 lte、le 小于等于 not非 mod求模 等

    eq相等   ne.neq不相等,   gt大于, lt小于 gte.ge大于等于   lte.le 小于等于   not非   mod求模   is [not] div by是否能被某数整除   i ...

  3. How can I style a JavaFX SplitMenuButton in CSS

    0 down vote favorite I try to style a SplitMenuButton in JavaFX. I've got a menuButton and a SplitMe ...

  4. 对象化的Http和请求对象HttpRequest

    在面向对象的语言中,有种“万物皆对象”的说法.在上篇文章中介绍了HttpRuntime类,在该类收到请求之后,立即通过HttpWorkerRequest工作者对象对传递的参数进行分析和分解,创建方便网 ...

  5. 构建seajs业务模块之grunt VS spm build

    在最开始,我并不知道grunt可以构建CMD模块.(以下spm指代spm build) 当时正困惑于如何用spm方便的构建业务模块,后来看到@twinstony (感谢@twinstony的分享)使用 ...

  6. PHP访问数据,增删改

    主页面 <h1>主页面</h1> <table width="100%" border="1" cellpadding=" ...

  7. unity3d进行脚本资源打包加载

    原地址:http://www.cnblogs.com/hisiqi/p/3204752.html 本文记录如何通过unity3d进行脚本资源打包加载 1.创建TestDll.cs文件 public c ...

  8. xcode arc引起的autorelease报错问题

    http://blog.csdn.net/xiechengfa/article/details/37971223 自从用上了真苹果,一直升级,现在xcode版本是4.4,或者说是ios5 一直有个问题 ...

  9. 多层神经网络与C++实现

    BP理论部分参考:http://blog.csdn.net/itplus/article/details/11022243 参考http://www.cnblogs.com/ronny/p/ann_0 ...

  10. Linux jstack命令详解

    jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息. 如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack ...