`

List对象转成json字符串(两种方式)

阅读更多
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">&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</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

具体的项目源码请在附件中下载。
分享到:
评论
2 楼 love_bomulmigok 2016-08-06  
       
1 楼 coldrush 2013-06-08  
你这标题中说的内容和标题不相关内容也太不成比例了,重点内容整成客串的角色了,哎我去了

相关推荐

    list转json

    把list转换成json字符串的两种方式,类似ajax效果

    json数组转化为list-Python入门进阶教程-JSON操作.pdf

    json数组转化为list_Python⼊门进阶教程-JSON操作 「关注我,和我⼀起放下灵魂,让灵魂去搬砖。」 Python JSON操作 操作 Python版本... JSON类型转换 类型转换 当程序把 JSON 对象或 JSON 字符串转换成 Python 对象时

    springMVC poi解析ajax上传excel文件,返回json对象\list数组

    解析通过MutilpartFile导入的Excel并解析里面数据,先判断文件的类型(excel处理有两种此处为两种通用)是.xls/.xlsx,采用Apache的POI的API来操作Excel,读取内容后保存到List中,再将List转Json(使用Linked,增删快...

    基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合

    本文支持两种方式的数据,一种为List集合,一种为json字符串。 先来介绍一下后台返回list集合(推荐使用此方法): 控制器代码如下: public static List&lt;TC&gt; DInfo = new List(); /// /// TreeView视图 /// /...

    实例详解JSON数据格式及json格式数据域字符串相互转换

    JSON建构于两种结构: 1. “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),有键...

    自定义日志脱敏组件,简单3 步完成 Spring Boot 的日志脱敏

    本组件支持的脱敏数据类型:八大基本类型及其包装类型、String类型、Map、List、JSON字符串、项目中的POJO对象。 注:Map、JSON、List、POJO、List对象的脱敏处理需要配置其对应的字段名即可,无法处理List&lt;八大类型...

    22-ajax-源代码.rar

    案例2-站内查询。 一、Ajax概述 二、js原生的Ajax技术(了解) 三、Json数据格式(重要...注意:json的key是字符串 jaon的value是Object json的解析: json是js的原生内容,也就意味着js可以直接取出json对象中的数据

    Android中使用Gson解析JSON数据的两种方法

    从结构上看,所有的数据(data)最终都可以分解成三种类型: 第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如”北京”这个单独的词。 第二种类型是序列(sequence),也就是...

    JSON 数据格式详解

    基础结构 JSON建构于两种结构: 1. “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象...简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以

    详解android与服务端交互的两种方式

    服务端从数据库查出数据并以json字符串的格式或者map集合的格式返回到客户端,客户端进行解析并输出到手机屏幕上。 此处介绍两种方式:使用Google原生的Gson解析json数据,使用JSONObject解析json数据 一、使用...

    python读写json文件的简单实现

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本... json: 用于字符串和python数据类型间进行转换 pickle: 用于python特有的类型和pyth

    在JavaScript中使用JSON数据

    JSON建构于两种结构: 对象——名称/值对的集合。不同的语言中,它被理解为对象,纪录,结构,字典,哈希表,有键列表(keyed list),或者关联数组。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个...

    C#基类库(苏飞版)

    List转成Json|对象转成Json|集合转成Json|DataSet转成Json|DataTable转成Json|DataReader转成Json等 8.Mime MediaTypes 电子邮件类型帮助类,规定是以Xml,HTML还是文本方式发送邮件 MimeEntity Mime实体帮助类...

    user-list-test-app:简单的SPA angularjs应用

    使用两种过滤器:在文本框中键入内容时,即时按字符串字段过滤;使用任意选项(例如10-20、20-30、30-40、40 +)按年龄范围过滤 数据应进行硬编码(请勿使用后端和AJAX)或将json文件用作后端。 除Angular ...

    xheditor-1.1.14

    xhEditor提供两种方式初始化编辑器: 方法1:利用class属性来初始化和传递各种初始化参数,例: class="xheditor {skin:'default'}" 方法2:利用xhEditor提供的jQuery插件接口来实现对特定textarea的初始化和传递...

    python入门到高级全栈工程师培训 第3期 附课件代码

    03 文件归档与两种压缩方式 04 vim编辑器 05 系统启动流程 06 grub加密 07 bios加密 08 top命令 09 free命令 10 进程管理 第6章 01 上节课复习 02 磁盘分区 03 文件系统与挂载 04 挂载信息讲解 05 磁盘用满的两种...

    乐优商城.xmind

    将请求体中的JSON字符串绑定到相应的bean上 修改 Controller @PutMapping service updateByPrimaryKey 删除 Controller @DeleteMapping @PathVariable Param 规格组id查询规格 url:params?gid=14 @...

    苹果CMS超级播放器专业版V1.0.8无授权全开源.zip

    2.json配置默认回源设置了.m3u8,.mp4意味着资源地址中包含这两个字符串就不会进行解析而是直接播放 3.如果说有一些资源地址中携带.m3u8但是也需要解析的话可以直接指定播放组,指定播放组后只要配有json就一定会走...

    c#操作Redis的5种基本类型汇总

    前言 在我们的项目中,通常会把数据存储到关系型数据库中,比如...Redis支持5种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。以下介绍了.net中操作redis五种

    JAVA上百实例源码以及开源项目源代码

     设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节  通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...

Global site tag (gtag.js) - Google Analytics