List对象转成Gson字符串(两种方式)
(1)使用Gson gson=new Gson()类中的 gson.toJson(list);方法
案例 (ajax+json+jquery 省市县级联):
后台代码:
package com.zz.jquery;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.omg.IOP.Encoding;
import com.google.gson.Gson;
public class AjxServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置编码格式
response.setContentType("application/json;charset=utf-8");
//省
int province = Integer.parseInt(request.getParameter("province"));
//市
int city = Integer.parseInt(request.getParameter("city"));
System.out.println("province==>" + province);
System.out.println("city==>" + city);
//list对象
List list = new ArrayList();
if (province != 0) {
if (province == 1) {
TestJson tj = new TestJson();
//第一个对象
tj.setCityName("郴州市");
tj.setCityNo("10");
//第二个对象
TestJson tj2 = new TestJson();
tj2.setCityName("长沙市");
tj2.setCityNo("11");
//分别将对象加入到list中
list.add(tj);
list.add(tj2);
}
if (province == 2){
TestJson tj = new TestJson();
tj.setCityName("武汉市");
tj.setCityNo("20");
TestJson tj2 = new TestJson();
tj2.setCityName("十堰市");
tj2.setCityNo("21");
list.add(tj);
list.add(tj2);
}
}
if(city!=0){
if(city==10){
TestJson tj = new TestJson();
tj.setCountyNo("101");
tj.setCountyName("苏仙区");
TestJson tj2 = new TestJson();
tj2.setCountyNo("102");
tj2.setCountyName("北湖区");
list.add(tj);
list.add(tj2);
}
}
PrintWriter out = response.getWriter();
Gson gson = new Gson();
String reslut = gson.toJson(list);
System.out.println("reslut:" + reslut);
response.setHeader("pargma", "no-cache");
response.setHeader("cache-control", "no-cache");
out.println(reslut);
out.flush();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
前台jsp界面:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<html>
<head>
<title>无标题文档</title>
<script type="text/javascript" src="js/jquery-1.4.2.js"></script>
<script type="text/javascript">
function sub(){
$.ajax({
type: "post",
url : 'AjxServlet',
data: { province:$('#province').val(), city:$('#city').val()},
success : function(result){
alert(result);
if(eval(result)) {
var html="<option value='11111' >--请选择--</option>";
for(var i=0;i<result.length;i++){
var TestJson =result[i];
var id=TestJson.cityNo;
var name=TestJson.cityName;
html+="<option value="+id+">"+name+"</option>";
};
$("#city option").remove();
$("#city").append(html);
}
}
});
};
function changeCity(){
$.ajax({
type: "post",
url : 'AjxServlet',
data: { city:$('#city').val(),province:$('#province').val()},
success : function(result){
if(eval(result)) {
var html="<option value='0' >--请选择--</option>";
for(var i=2;i<result.length;i++){
var TestJson =result[i];
var id=TestJson.countyNo;
var countName=TestJson.countyName;
html+="<option value="+id+">"+countName+"</option>";
};
$("#county option").remove();
$("#county").append(html);
}
}
});
};
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<table width="542" height="168" border="1" cellpadding="0" cellspacing="0">
<tr>
<td height="46" colspan="3"><div align="center">级联ajax+jquery+json测试</div></td>
</tr>
<tr>
<td width="170" height="56">省份:
<label>
<select name="select" id="province" onchange="sub()">
<option value='0' >--请选择--</option>
<option value="1">湖南省</option>
<option value="2">湖北省</option>
<option value="3">广东省</option>
<option value="4">海南省</option>
</select>
</label></td>
<td width="178">城市:
<label>
<select name="select2" id="city" onchange="changeCity()">
<option value='0' >----</option>
</select>
</label></td>
<td width="186">县城:
<label>
<select name="select3" id="county">
<option value='0' >----</option>
</select>
</label></td>
</tr>
<tr>
<td height="56"> </td>
<td> </td>
<td> </td>
</tr>
</table>
</form>
</body>
</html>
web.xml文件添加以下代码
<servlet>
<servlet-name>AjxServlet</servlet-name>
<servlet-class>com.zz.jquery.AjxServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AjxServlet</servlet-name>
<url-pattern>/AjxServlet</url-pattern>
</servlet-mapping>
(2) 使用JSONArray json=JSONArray.fromobject(list);在调用json.toString()方法转换成字符串
只需要将上面后台代码的 Gson gson = new Gson();
String reslut = gson.toJson(list);
换成
JSONArray json=JSONArray.fromobject(list);
前提是list必须都为一个完整的对象
所需jar包:
json_java.jar
gson-1.6.jar
具体的项目源码请在附件中下载。
分享到:
相关推荐
把list转换成json字符串的两种方式,类似ajax效果
json数组转化为list_Python⼊门进阶教程-JSON操作 「关注我,和我⼀起放下灵魂,让灵魂去搬砖。」 Python JSON操作 操作 Python版本... JSON类型转换 类型转换 当程序把 JSON 对象或 JSON 字符串转换成 Python 对象时
解析通过MutilpartFile导入的Excel并解析里面数据,先判断文件的类型(excel处理有两种此处为两种通用)是.xls/.xlsx,采用Apache的POI的API来操作Excel,读取内容后保存到List中,再将List转Json(使用Linked,增删快...
本文支持两种方式的数据,一种为List集合,一种为json字符串。 先来介绍一下后台返回list集合(推荐使用此方法): 控制器代码如下: public static List<TC> DInfo = new List(); /// /// TreeView视图 /// /...
JSON建构于两种结构: 1. “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),有键...
本组件支持的脱敏数据类型:八大基本类型及其包装类型、String类型、Map、List、JSON字符串、项目中的POJO对象。 注:Map、JSON、List、POJO、List对象的脱敏处理需要配置其对应的字段名即可,无法处理List<八大类型...
案例2-站内查询。 一、Ajax概述 二、js原生的Ajax技术(了解) 三、Json数据格式(重要...注意:json的key是字符串 jaon的value是Object json的解析: json是js的原生内容,也就意味着js可以直接取出json对象中的数据
从结构上看,所有的数据(data)最终都可以分解成三种类型: 第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如”北京”这个单独的词。 第二种类型是序列(sequence),也就是...
基础结构 JSON建构于两种结构: 1. “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象...简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以
服务端从数据库查出数据并以json字符串的格式或者map集合的格式返回到客户端,客户端进行解析并输出到手机屏幕上。 此处介绍两种方式:使用Google原生的Gson解析json数据,使用JSONObject解析json数据 一、使用...
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本... json: 用于字符串和python数据类型间进行转换 pickle: 用于python特有的类型和pyth
JSON建构于两种结构: 对象——名称/值对的集合。不同的语言中,它被理解为对象,纪录,结构,字典,哈希表,有键列表(keyed list),或者关联数组。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个...
List转成Json|对象转成Json|集合转成Json|DataSet转成Json|DataTable转成Json|DataReader转成Json等 8.Mime MediaTypes 电子邮件类型帮助类,规定是以Xml,HTML还是文本方式发送邮件 MimeEntity Mime实体帮助类...
使用两种过滤器:在文本框中键入内容时,即时按字符串字段过滤;使用任意选项(例如10-20、20-30、30-40、40 +)按年龄范围过滤 数据应进行硬编码(请勿使用后端和AJAX)或将json文件用作后端。 除Angular ...
xhEditor提供两种方式初始化编辑器: 方法1:利用class属性来初始化和传递各种初始化参数,例: class="xheditor {skin:'default'}" 方法2:利用xhEditor提供的jQuery插件接口来实现对特定textarea的初始化和传递...
03 文件归档与两种压缩方式 04 vim编辑器 05 系统启动流程 06 grub加密 07 bios加密 08 top命令 09 free命令 10 进程管理 第6章 01 上节课复习 02 磁盘分区 03 文件系统与挂载 04 挂载信息讲解 05 磁盘用满的两种...
将请求体中的JSON字符串绑定到相应的bean上 修改 Controller @PutMapping service updateByPrimaryKey 删除 Controller @DeleteMapping @PathVariable Param 规格组id查询规格 url:params?gid=14 @...
2.json配置默认回源设置了.m3u8,.mp4意味着资源地址中包含这两个字符串就不会进行解析而是直接播放 3.如果说有一些资源地址中携带.m3u8但是也需要解析的话可以直接指定播放组,指定播放组后只要配有json就一定会走...
前言 在我们的项目中,通常会把数据存储到关系型数据库中,比如...Redis支持5种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。以下介绍了.net中操作redis五种
设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节 通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...