博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struts+json 返回json格式多了斜杠的问题
阅读量:5064 次
发布时间:2019-06-12

本文共 1464 字,大约阅读时间需要 4 分钟。

功能要求 C#做http请求 ,后台 struts+json 返回json格式数据, 大概代码是这样的

后台java

public String jo ;        public String getNumpsQty(){                       //***  JSONObject obj=new JSONObject();            JSONArray ja =JSONArray.fromObject(onv);            obj.put("count", row);            obj.put("root", ja);            setJo(obj.toString());            System.out.println(jo);                    }catch(Exception e){            e.printStackTrace();        }        return SUCCESS;    }

struts  配置

jo

接收到json 的格式

"{\"count\":6,\"root\":[{\"numPs\":\"T10140019\",\"qty\":\"500000\"},{\"numPs\":\"T10140020\",\"qty\":\"200000\"}]}"

 很明显格式有问题  多了个斜杠,无法解析

去google一下发现大神们的解释:

不能用String格式返回,String格式本身会加"" , 请求的json会经过两次序列化导致加了转义字符\

直接返回 JSONObject 就可以,

public JSONObject jo ;        public String getNumpsQty(){                JSONObject obj=new JSONObject();        try{//***            List
onv=new ArrayList
(); JSONArray ja =JSONArray.fromObject(onv); obj.put("count", row); obj.put("root", ja); setJo(obj); System.out.println(jo); }catch(Exception e){ e.printStackTrace(); } return SUCCESS; } public JSONObject getJo() { return jo; } public void setJo(JSONObject jo) { this.jo = jo; }

 

转载于:https://www.cnblogs.com/Marvellous/p/3987627.html

你可能感兴趣的文章
JavaScript基础(四)关于对象及JSON
查看>>
JAVA面试常见问题之Redis篇
查看>>
jdk1.8 api 下载
查看>>
getElement的几中属性介绍
查看>>
HTML列表,表格与媒体元素
查看>>
雨林木风 GHOST_XP SP3 快速装机版YN12.08
查看>>
java对象的深浅克隆
查看>>
数据结构3——浅谈zkw线段树
查看>>
Introduction to my galaxy engine 2: Depth of field
查看>>
Python 3.X 练习集100题 05
查看>>
设计器 和后台代码的转换 快捷键
查看>>
Monkey测试结果分析
查看>>
STL——配接器、常用算法使用
查看>>
STL容器之vector
查看>>
无法向会话状态服务器发出会话状态请求
查看>>
数据中心虚拟化技术
查看>>
01入门
查看>>
复习文件操作
查看>>
SQL Server 使用作业设置定时任务之一(转载)
查看>>
第二阶段冲刺-01
查看>>