zoukankan      html  css  js  c++  java
  • 拼接JSONStringer出现的不正确的情况。

    错误现象:

    错误分析及其解答:

    JSONStringer可以直接嵌套JSONArray,JSONArray可以作为
    JSONStringer的值。
    我错误的原因是本质是:
    JSONArray存放的是JSONStringer,
    正确的是存放JSONObject。

     
    代码如下:
     1     /**
     2      * 方法名: insertCheckStockDetails(String apiname, List<Map<String,String>>checkStockDetailList)
     3      * 功    能:上传盘点数量
     4      * 参    数:-
     5      * 返回值: -
     6      */
     7     public String insertCheckStockDetails(String apiname, List<Map<String,String>>checkStockDetailList)
     8     {
     9         //应用级请求参数
    10         JSONStringer appLvlRequestJson;
    11         //应用级请求参数·盘点明细List
    12         //JSONStringer checkStockDetailListJosn = null;;
    13         //追加系统级请求参数
    14         JSONStringer sysLvlRequestJson = null;
    15         //结果集
    16         String strResponse;
    17         
    18         //结果ArrayList
    19         List<Map<String,String>> checkDetailArrayList = new ArrayList<Map<String,String>>();
    20         try {
    21             //应用级请求参数中的check_stock_detail_list设定属性值
    22             Iterator detailIterator = checkStockDetailList.iterator();
    23             
    24             JSONArray checkStockDetailJSONArray = new JSONArray();
    25             while(detailIterator.hasNext()){
    26                 Map map  = (Map) detailIterator.next();
    27                 
    28                 JSONObject jSONObject = new JSONObject();
    29                 
    30                 jSONObject.put("check_id", map.get("checkid"));
    31                 
    32                 jSONObject.put("goods_id", map.get("goodsid"));
    33                 
    34                 jSONObject.put("check_amount", map.get("checkamount"));
    35                 
    36                 checkStockDetailJSONArray.put(jSONObject);
    37 //                JSONStringer checkStockDetailListJosn = new JSONStringer();
    38 //                checkStockDetailListJosn.object()
    39 //                .key("check_id").value(map.get("checkid"))
    40 //                .key("goods_id").value(map.get("goodsid"))
    41 //                .key("check_amount").value(map.get("checkamount"))
    42 //                .endObject();
    43 //                checkStockDetailJSONArray.put(checkStockDetailListJosn);
    44             }
    45             
    46             //应用级请求参数
    47             appLvlRequestJson = new JSONStringer().object().key("check_stock_detail_list").value(checkStockDetailJSONArray).endObject();
    48             
    49             sysLvlRequestJson=SetParamDao.SetJsonparam(apiname,appLvlRequestJson);
    50         } catch (JSONException e1) {
    51             e1.printStackTrace();
    52         }
    53         strResponse=SetParamDao.SetJsonStringCode(sysLvlRequestJson);
    54 
    55         //1000:没有数据; 500:错误; 999:执行成功; 400:Josn解析格式不正确
    56         return strResponse;
    57     }
    View Code
     
  • 相关阅读:
    怎么写好组件
    html5/css3常考面试题
    js各种继承方式和优缺点的介绍
    C#控件背景透明的几种解决方案
    c# 控件闪烁处理方法
    使用委托的BeginInvoke方法来完成复杂任务的操作
    C#中的预处理器指令
    C#中父窗口和子窗口之间实现控件互操作
    C#编程让Outlook乖乖交出帐户密码
    在Linux上运行C#
  • 原文地址:https://www.cnblogs.com/YangBinChina/p/3421728.html
Copyright © 2011-2022 走看看