`

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  
你这标题中说的内容和标题不相关内容也太不成比例了,重点内容整成客串的角色了,哎我去了

相关推荐

    java对象转换为json字符串或字符串数组

    在Java中,有两种主要方式实现对象到JSON的转换:使用`org.json`库和使用`json-lib`库。我们将重点介绍`json-lib`的使用方法。 1. 引入json-lib库: 在项目中添加json-lib的依赖。如果是Maven项目,可以在pom.xml...

    androidmap转json字符串、list转json字符串工具类.zip

    本压缩包提供了两个关键功能:将Map对象转换为JSON字符串和将List对象转换为JSON字符串。这两个工具类对于Android开发者来说非常实用,因为它们简化了Java对象与JSON格式之间的互换过程。 首先,让我们详细了解Map...

    解析Json字符串直接转换为对象(包括多层List集合 嵌套)所用jar包

    在Java编程中,JSON...总之,Java中的Jackson库提供了一种高效且灵活的方式来解析JSON字符串,将其转换为对应的Java对象。无论是简单的键值对还是复杂的嵌套结构,Jackson都能够胜任,极大地简化了开发人员的工作。

    Android list转json工具类

    当需要将Android应用中的数据列表发送到服务器或者从服务器获取数据时,通常需要将List对象转换为JSON字符串。本篇文章将深入探讨如何在Android中实现一个将集合List转化为JSON字符串的工具类,以及在联网调接口时...

    利用Google Gson实现JSON字符串和对象之间相互转换

    反之,如果你有一个JSON字符串并想解析成Java对象,可以使用`Gson().fromJson()`方法。 ### JSON字符串转Java对象 以下是一个简单的例子,展示如何将JSON字符串转换为Java对象: ```java class User { private ...

    Unity3D中任意类型数据转换成json数据的方法2

    文章中提到的两个方法 `ListToJson&lt;T&gt;`,接收一个泛型列表 `IList&lt;T&gt;`,并将其转换为JSON字符串。第一个方法需要指定JSON对象的名称(jsonName),第二个方法会自动取列表中第一个元素的类型名作为JSON对象的名称。...

    list转成json对象

    `json`模块提供了两个主要的函数:`dumps()`用于将Python对象序列化为JSON字符串,而`loads()`则是用于将JSON字符串反序列化为Python对象。在这里,我们需要使用`dumps()`。 下面是一个简单的例子,展示了如何将...

    java中解析json字符串

    除了解析JSON字符串到Java对象,这两个库还支持将Java对象转换为JSON字符串,以及解析JSON到Map或List等数据结构。 3. **其他库** 除了Jackson和Gson,还有其他的JSON处理库,如org.json(提供简单的JSON工具类)...

    Gson对Java嵌套对象和JSON字符串之间的转换 ..pdf

    Gson库提供了两个关键方法:`toJson()`和`fromJson()`,用于对象到JSON字符串的转换以及JSON字符串到对象的反序列化。 1. `toJson()`方法:这个方法将Java对象转换为JSON字符串。例如,如果我们有一个自定义的`...

    JAVA-JSON工具转换类

    可能包含的方法有`toJson()`(将Java对象转换为JSON字符串)、`fromJson()`(将JSON字符串解析为Java对象)、`convertToMap()`(将JSON字符串转换为Map)以及`convertToList()`(将JSON字符串转换为List)等。...

    JavaBean与Json相互转换

    在Java开发中,JavaBean和Json是两种常见的数据表示方式。JavaBean是Java对象的一种标准设计模式,主要用于封装数据和业务逻辑;而Json(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写...

    map,list转成json的工具类

    本篇将详细介绍如何使用两个Java工具类,`JackSonUtil` 和 `GsonUtil`,将Map和List对象转换为JSON字符串。 首先,`JackSonUtil` 是基于Jackson库的一个工具类,Jackson是Java中最流行的JSON处理库之一,提供了高效...

    Json字符串转Java对象和List代码实例

    它使用Fastjson的`parseArray`方法,将JSON字符串解析成指定类型的List对象。 在实际应用中,你可以根据需要调用这些方法。例如,如果你有一个JSON字符串`jsonStr`代表用户对象,且用户对象为`User`类的一个实例,...

    Gson处理Json格式字符串代码

    在这个例子中,`fromJson()`方法接收两个参数:一个是JSON字符串,另一个是目标类型(这里是`Video.class`)。这样,Gson就能根据JSON数据创建一个新的`Video`对象。 在实际项目中,我们可能需要处理更复杂的数据...

    list转json

    当我们需要将Python中的list数据结构转换为JSON字符串时,通常有两种主要方法。在描述中提到的“ajax效果”是指在不刷新整个网页的情况下更新部分页面内容,这通常涉及JSON数据的使用。 首先,我们来看第一种转换...

    android解析JSON字符串

    在 Android 中,解析 JSON 字符串可以分为两种形式:普通形式和带有数组形式。 普通形式 在普通形式中,服务器端返回的 JSON 数据格式如下所示: ```json { "userbean": { "Uid": "100196", "Showname": "u75...

    json字符串轻松转换成对象

    在这个例子中,`fromJson()`方法接受两个参数:一个是JSON字符串,另一个是目标类型(这里是`Person.class`)。它会自动映射JSON对象的键值对到Java对象的属性上。 如果你的JSON字符串包含数组,可以转换为Java的...

    字符串或链表转json

    在Java编程中,处理JSON数据时,Jackson是一个非常流行的开源工具包,它提供了将Java对象转换为JSON字符串以及从JSON字符串反序列化回Java对象的功能。 Jackson库由FasterXML公司开发,其主要组件包括`Jackson-...

    java对象List,Map转json格式

    在Java编程中,将对象转换成JSON(JavaScript Object Notation)格式是常见的需求,尤其是在与前端JavaScript进行数据交互时。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。本篇...

    JSON对象互转案例fastjson

    这里的`person`对象被转换成了一个JSON字符串。 2. `JSON.parseArray()`: 这个方法则是用于将JSON格式的字符串解析为Java集合对象,如List。当你接收到JSON格式的数据并需要在Java代码中处理时,`parseArray()`可以...

Global site tag (gtag.js) - Google Analytics