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中AsyncTask的使用 (包含文件的下载与存储)
今天看到大神写的相关详解Android中AsyncTask的使用,真的很是佩服,下面我将学习到的AsynTask知识运用到项目中,其中也涉及一些文件的下载与存储到本地 啥都不说了,直接上代码,我将对其 ...
- linux用户与组管理
普通用户的管理 用户管理的基本任务包括添加新用户.删除用户.修改用户属性以及对现有用户的访问参数进行设置.与密切 相关的文件包含/etc/passwd./etc/shadow以及/home目录下的文件 ...
- std::condition_variable(3)复习
#include <iostream> // std::cout #include <thread> // std::thread #include <mutex> ...
- 玩点不同之CSS的BEM规范
1.BEM引入背景 因为项目的业务逻辑发生重大变化,所以原来大半年的开发周期里做的事情基本上变成无用功.但是公司的项目上线时间依旧没有改变.剩下的时间只有区区的两个月,要做的功能是有社区+电商+核心业 ...
- ZOJ1311(Network)
题目链接:传送门 题目大意:给你一副无向图,求有多少个割点 题目思路:tarjan算法(此题读入是字符串读入,需注意) #include <iostream> #include <c ...
- pycharm如何自定义模板?
按照上图箭头方向设置即可.
- Objective-c 单例模式
用GCD写Objective-c的单例模式和C#有比较大的区别 声明h文件 #import <Foundation/Foundation.h> @interface me : NSObje ...
- linux linux 互传文件 win 不通过 ftp sftp 往linux 传文件(文件夹)
linux 传入 传出文件 swp port 22 怎样通过swp通过docker 容器向外传文件 通过scp Linux互传文件,需要知道文件源 file source 所在系统的ip wuse ...
- FW 执行Git命令时出现各种 SSL certificate problem 的解决办法
比如我在windows下用Git clone gitURL 就提示 SSL certificate problem: self signed certificate 这种问题,在windows下出现 ...
- 基于java mail实现简单的QQ邮箱发送邮件
刚学习到java邮件相关的知识,先写下这篇博客,方便以后翻阅学习. -----------------------------第一步 开启SMTP服务 在 QQ 邮箱里的 设置->账户里开启 S ...