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
     
  • 相关阅读:
    UVa 1354 天平难题 (枚举二叉树)
    广西邀请赛总结
    UVa 12118 检查员的难题 (dfs判连通, 构造欧拉通路)
    UVA
    Uva 127 "Accordian" Patience (模拟)
    UVA 10539 Almost Prime Numbers( 素数因子)
    HDU 1272 小希的迷宫(并查集)
    HDU 1213 How Many Tables (并查集)
    POJ 2236 Wireless Network(并查集)
    HDU 1233 还是畅通工程 ( Kruskal或Prim)
  • 原文地址:https://www.cnblogs.com/YangBinChina/p/3421728.html
Copyright © 2011-2022 走看看