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数据的拼接与解析的更多相关文章

  1. JSON数据的生成与解析

    JSON数据的生成与解析.首先先到网上下载一个json jar包,我用的是org.json 演示样例代码: package json; import org.json.JSONArray; impor ...

  2. Android 学习笔记之Volley(七)实现Json数据加载和解析...

    学习内容: 1.使用Volley实现异步加载Json数据...   Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...

  3. ajax获取json数据为undefined--原因解析

    解决办法:var dataObj=eval("("+data+")");//转换为json对象 问题: 1. 碰到一个问题ajax成功获取json数据后,取值显 ...

  4. ajax提交json数据到后端C#解析

    本文链接:https://blog.csdn.net/qq_22103321/article/details/78015920 前端提交json数据 $.ajax({ type: "post ...

  5. AJAX提交到Handler.ashx一般处理程序返回json数据 (字符串拼接方式)

    <%@ WebHandler Language="C#" Class="Handler" %> using System; using System ...

  6. mysql中json数据的拼接方式

    SELECT CONCAT('[', GROUP_CONCAT( CONCAT('{"id":"',STRUCTURE_ID,'"'),',', CONCAT( ...

  7. 《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中

      先看一下我要实现的功能界面:   这个界面的功能在图中已有展现,课程分配(教师教授哪门课程)在之前的页面中已做好.这个页面主要实现的是授课,即给老师教授的课程分配学生.此页面实现功能的步骤已在页面 ...

  8. JSON数据解析(转)

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 本文将主要介绍在Android ...

  9. JSON数据解析(GSON方式) (转)

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 在上一篇博文<Andro ...

随机推荐

  1. ScheduleFactory(不同scheduler name)

    package com.unis.uvm.quartz; import java.util.Properties; import org.quartz.Scheduler; import org.qu ...

  2. HDOJ 4549 M斐波那契数列 费马小定理+矩阵高速幂

    MF( i ) = a ^ fib( i-1 ) * b ^ fib ( i )   ( i>=3) mod 1000000007 是质数 , 依据费马小定理  a^phi( p ) = 1 ( ...

  3. 命令提示符(cmd)中的tracert命令详解

    tracert也被称为Windows路由跟踪实用程序,在命令提示符(cmd)中使用tracert命令可以用于确定IP数据包访问目标时所选择的路径.本文主要探讨了tracert命令的各个功能. 工具/原 ...

  4. 3280 easyfinding

    3280 easyfinding  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 Description 给一个M ...

  5. C# MD5加密与校验 引用

    using System; using System.Security.Cryptography; using System.Text; class Example { // Hash an inpu ...

  6. 是面向对象设计五个基本原则(SOLID)

    单一职责原则 - 搜狗百科 https://baike.sogou.com/v51360965.htm 单一职责原则并不是一个孤立的面向对象设计原则,它是面向对象设计五个基本原则(SOLID)之一.这 ...

  7. SQLServer与ASP中DATEDIFF函数区别

    一.SQLServer: 格式: DATEDIFF(interval,startdate,enddate) interval参数: 年-yy,yyyy 季度-qq,q 月-mm,m 年中的日-dy,y ...

  8. win7安装laravel

    使用Packagist 镜像 建立一个composer.json文件,内容如下: { "name": "laravel/laravel", "desc ...

  9. Spring 单例

    我们知道 Web 容器本身就是多线程的,Web 容器为一个 Http 请求创建一个独立的线程,所以由此请求所牵涉到的 Spring 容器中的 Bean 也是运行于多线程的环境下.在绝大多数情况下,Sp ...

  10. 阿里云短信验证解决方案(java版)(redis存储)

    最近搞了一个互联网项目的注册,需要写一个手机号验证(由于之前没有轮子,只能自己摸索了); 1:基本思路: 1>购买了阿里云短信服务->下载阿里云短信发送demo(java版); 2> ...