json数据的拼接与解析
json数据格式
[{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },
{ "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},
{ "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }]
一、前台js代码(数据存储与json拼接)
以OutStoDetail类为例

var proDetail=[];//大的集合
var obj=new Object();
obj.outstodeid=outstodeid; //对象属性
obj.proname=proname;
obj.proprice=proprice;
obj.procount=procount;
obj.proamount=proamount;
obj.storagenum=storagenum;
obj.localnum=localnum;
proDetail.push(obj ); //对象放入集合 $("#btnSave").click(function(){
var jsonStr="[";
for(i=;i<proDetail.length;i++){
jsonStr+="{";
jsonStr+="\"outstodeid\":\""+proDetail[i].outstodeid+"\",";
jsonStr+="\"proname\":\""+proDetail[i].proname+"\",";
jsonStr+="\"proprice\":\""+proDetail[i].proprice+"\",";
jsonStr+="\"procount\":\""+proDetail[i].procount+"\",";
jsonStr+="\"proamount\":\""+proDetail[i].proamount+"\",";
jsonStr+="\"storagenum\":\""+proDetail[i].storagenum+"\",";
jsonStr+="\"localnum\":\""+proDetail[i].localnum+"\"";
jsonStr+="}";
if(i!=proDetail.length-) jsonStr+=",";
}
jsonStr+="]";
$.ajax({
type:"post",
url:'<%=basePath%>outStore/updateOrAdd.action?jsonStr='+jsonStr,
success:function(data,status){}
});
});
拼接json串时注意引号的拼接。
二、后台java代码(json数据解析)
1、在maven项目pom.xml中添加如下依赖
<!-- https://mvnrepository.com/artifact/org.json/json -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version></version>
</dependency>
或下载org.json的jar包
2、在controller中对json数据进行解析
引入包
import org.json.JSONArray;
import org.json.JSONObject;
List<OutStoDetail> outSDList=new ArrayList<OutStoDetail>();
JSONArray js = new JSONArray(jsonStr);
for (int i = ; i < js.length(); i++) {
JSONObject ob = js.getJSONObject(i);
OutStoDetail outStoDetail=new OutStoDetail();
//outStoDetail.setOutstodeid(Integer.parseInt((String) ob.get("outstodeid")));
outStoDetail.setProname((String)ob.get("proname"));
outStoDetail.setProprice(Float.parseFloat((String)ob.get("proprice")));
outStoDetail.setProcount(Float.parseFloat((String)ob.get("procount")));
outStoDetail.setProamount(Float.parseFloat((String)ob.get("proamount")));
outStoDetail.setStoragenum((String)ob.get("storagenum"));
outStoDetail.setLocalnum((String)ob.get("localnum"));
outStoDetail.setOutstonum(outStor.getOutstonum());
outSDList.add(outStoDetail);
}
获取到OutStoDetail类型的集合就可以使用了。
json数据的拼接与解析的更多相关文章
- JSON数据的生成与解析
JSON数据的生成与解析.首先先到网上下载一个json jar包,我用的是org.json 演示样例代码: package json; import org.json.JSONArray; impor ...
- Android 学习笔记之Volley(七)实现Json数据加载和解析...
学习内容: 1.使用Volley实现异步加载Json数据... Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...
- ajax获取json数据为undefined--原因解析
解决办法:var dataObj=eval("("+data+")");//转换为json对象 问题: 1. 碰到一个问题ajax成功获取json数据后,取值显 ...
- ajax提交json数据到后端C#解析
本文链接:https://blog.csdn.net/qq_22103321/article/details/78015920 前端提交json数据 $.ajax({ type: "post ...
- AJAX提交到Handler.ashx一般处理程序返回json数据 (字符串拼接方式)
<%@ WebHandler Language="C#" Class="Handler" %> using System; using System ...
- mysql中json数据的拼接方式
SELECT CONCAT('[', GROUP_CONCAT( CONCAT('{"id":"',STRUCTURE_ID,'"'),',', CONCAT( ...
- 《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
先看一下我要实现的功能界面: 这个界面的功能在图中已有展现,课程分配(教师教授哪门课程)在之前的页面中已做好.这个页面主要实现的是授课,即给老师教授的课程分配学生.此页面实现功能的步骤已在页面 ...
- JSON数据解析(转)
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 本文将主要介绍在Android ...
- JSON数据解析(GSON方式) (转)
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 在上一篇博文<Andro ...
随机推荐
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)2.7——使用Android Studio签署发布apk
问题: 想要使用Android studio生成签名配置,给他们分配build类型. 解决方案: Build菜单提供了生成签名配置,Project Structure窗口有tab用于分配不同的type ...
- uva 12730(期望经典)
选自: http://blog.csdn.net/myhelperisme/article/details/39724515 用dp(n)表示有n个位置时的期望值,那么,对于一个刚进来的人来说,他有 ...
- 《挑战程序设计竞赛》2.2 贪心法-区间 POJ2376 POJ1328 POJ3190
POJ2376 Cleaning Shifts Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14585 Accepte ...
- 【22,23节】Django的GET和POST属性笔记
COOKIES:一个标准的python字典对象,包含所有cookies,键和值都为字符串session:一个即能读又能写的类似字典对象,表示当前的会话,只有当django启用会话的支持时才可用 一键多 ...
- VM和Windows Ping不通
连接模式:桥接 Linux上1.修改 /etc/sysconfig/network-scripts/ifcfg-enp0s3 文件 ONBOOT=yes2.service network restar ...
- python ipython notebook或者 jupyter notebook 的安装
IPython Notebook使用浏览器作为界面,向后台的IPython服务器发送请求,并显示结果.在浏览器的界面中使用单元(Cell)保存各种信息.Cell有多种类型,经常使用的有表示格式化文本的 ...
- marquee标记
页面的自动滚动效果,可由javascript来实现, 但是有一个html标签 - <marquee></marquee>可以实现多种滚动效果,无需js控制. 使用marquee ...
- Funq之Lambda表达式2
Last month I started a series of posts covering some of the new VB and C# language features that are ...
- asp.net Cookie 用户登陆时记住我
/// <summary> /// 判断Cookie中存储的数据 /// </summary> protected void CheckUserCookie() { //先判断 ...
- 【Tech】单点登录系统CAS客户端demo
服务器端配置请参考: http://www.cnblogs.com/sunshineatnoon/p/4064632.html 工具:myeclipse或者javaee-eclipse 1.启动jav ...