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 ...
随机推荐
- cocos2d-x设计模式发掘之一:单例模式
作者: firedragonpzy 原地址:http://www.firedragonpzy.com.cn/index.php/archives/1781 本系列文章我将和大家一起来发掘coc ...
- zookeeper安装步骤
zookeeper安装步骤 百度搜索:zookeeper 进入后点击下载: 进入到下载的页面 英文: 中文: 进入版本列表: 进入后复制该链接, 在linux执行wget下载: wget https: ...
- EasyNVR内网摄像机接入网关+EasyNVS云端管理平台,组件起一套轻量级类似于企业级萤石云的解决方案
背景分析 对于EasyNVR我们应该都了解,主要应用于互联安防直播,对于EasyNVR,我们可以清楚的发现,EasyNVR的工作机制是EasyNVR拉取摄像机的RTSP/Onvif视频流,然后客户端可 ...
- JavaScript中label与break配合使用
语法 label: statement 说明 label语句可以在代码中添加标签,以便将来使用.定义的标签可以在将来由break或continue语句引用.加标签的语句一般都要与for语句等循环语句配 ...
- [NOIP2018PJ]对称二叉树
[NOIP2018PJ]对称二叉树 这个题正常人看到题面难道不是哈希? 乱写了个树哈希... #include<bits/stdc++.h> using namespace std; co ...
- mac开发环境爬坑记(搭建php+nginx+mysql+redis+laravel+git+phpstorm)
题外话:前几天,终于以原价一半的价格,将我那台15版mbp在bbs上卖了出去.之所以用了“终于”这个词儿,是我一直迟迟没有下定决心卖掉它,可眼瞅着再不卖掉,又要掉价,况且我的新电脑,也终于下来了. 话 ...
- docker介绍和简单使用
docker介绍 docker 为什么会有docker出现? 一款产品从开发到上线,从操作系统到运行环境,再到应用配置,作为开发+运维直接的协作我们需要关心很多东西,这也是互联网公司不得 不面对问题, ...
- 基于websocket搭建简易群聊
1.前端HTML <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset=&qu ...
- 0405-服务注册与发现-客户端负载均衡-Ribbon 同Eureka使用,Ribbon脱离Eureka使用
一.Ribbon 同Eureka使用,注意事项 前几节一同使用,注意事项: 如果没有其他区域数据源,则根据客户端配置进行猜测(与实例配置相反).能够获取eureka.client.availabili ...
- 家里网速北京联通100m光纤
http://www.speedtest.net/ http://cs1.bbn.com.cn:8800/gzweb/index.jsp