【第3篇】通过JSON-Lib把数组转换成Json数据

package ivyy.taobao.com.domain.jsonlib;

import ivyy.taobao.com.entity.Address;

import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

/**
 *@DEMO:json
 *@Java:ArrayToJson.java
 *@Date:2015-1-18下午5:17:19
 *@Author:liangjilong
 *@Email:[email protected]
 *@Weibo:http://weibo.com/jilongliang
 *@Version:1.0
 *@Description:通过JSON-Lib把数组转换成Json数据
 */
public class ArrayToJson {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception{
		//getArrayToJson();
		getArrayToJsonByMap();
	}
	/**
	 * 通过ByJSONLib把数组转换成Json数据
	 * @param url
	 * @throws Exception
	 */
	private static void getArrayToJson()throws Exception
	{
		Address address=new Address();
		address.setProvince("广东省");
		address.setCity("云浮市");
		address.setDistrict("云城区东升布艺");
		address.setWeibo("http://weibo.com/resourceljl");
		JSONArray jsonArr = JSONArray.fromObject(address);  //把对象转换成Json对象
		List<Address> lists = JSONArray.toList(jsonArr, Address.class); //把对象Json数组转换成Json数组
	    for (Address obj : lists) {
	    	System.out.println(obj.getProvince());
	    	System.out.println(obj.getCity());
	    	System.out.println(obj.getDistrict());
	    	System.out.println(obj.getWeibo());
	    }
	}
	/**
	 * 结合Map去通过JSON-Lib把数组转换成Json数据
	 * @param url
	 * @throws Exception
	 */
	private static void getArrayToJsonByMap()throws Exception
	{
		Address address=new Address();
		address.setProvince("广东省");
		address.setCity("云浮市");
		address.setDistrict("云城区东升布艺");
		address.setWeibo("http://weibo.com/resourceljl");
		JSONArray jsonArr = JSONArray.fromObject(address);  //把对象转换成Json对象
		 //注释掉的也可以执行
		Map<String, Class<Address>> map=new HashMap<String,Class<Address>>();
		map.put("address", Address.class);
	    List<Address> lists = JSONArray.toList(jsonArr, Address.class, map); //把对象Json数组转换成Json数组

	    System.out.println("-----------------------方法一-----------------------");
	    //-----------------------方法一-----------------------
	    for (Address obj : lists) {
	    	System.out.println(obj.getProvince());//获取省的数据
	    	System.out.println(obj.getCity());//获取城市的数据
	    	System.out.println(obj.getDistrict());//获取街道的数据
	    	System.out.println(obj.getWeibo());//获微博的数据
	    }

	    System.out.println("-----------------------方法二-----------------------");

	    //-----------------------方法二-----------------------
	    for (Iterator iterator = lists.iterator(); iterator.hasNext();) {
			Address obj = (Address) iterator.next();
			System.out.println(obj.getProvince());
	    	System.out.println(obj.getCity());
	    	System.out.println(obj.getDistrict());
	    	System.out.println(obj.getWeibo());
		}

	    System.out.println("-----------------------方法三-----------------------");
	    //-----------------------方法三-----------------------
	    for (int i = 0; i < lists.size(); i++) {
	    	JSONObject obj = JSONObject.fromObject(lists.get(i));
	    	System.out.println(obj.get("province"));
	    	System.out.println(obj.get("city"));
	    	System.out.println(obj.get("district"));
	    	System.out.println(obj.get("weibo"));

		}

	    System.out.println("-----------------------方法四-----------------------");

		Iterator<Address> itera=lists.iterator();
		do{
			Address obj=itera.next();
			System.out.println(obj.getProvince());
	    	System.out.println(obj.getCity());
	    	System.out.println(obj.getDistrict());
	    	System.out.println(obj.getWeibo());
		}while(itera.hasNext());

	    System.out.println("-----------------------方法五-----------------------");

		Iterator<Address> it = lists.iterator();

		//判断必须有值的时候就取值出来.如果没值的话会报错
		while (!it.hasNext()) {
			Address obj=itera.next();
			if(obj!=null)
			System.out.println(obj.getProvince());
	    	System.out.println(obj.getCity());
	    	System.out.println(obj.getDistrict());
	    	System.out.println(obj.getWeibo());
		}
	}
}
package ivyy.taobao.com.entity;

import java.io.Serializable;

import com.google.gson.annotations.Expose;
/**
 * Gson gson=new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
 * 创建Gson对象,没有@Expose注释的属性将不会被序列化
 * serialize序列化 默认 true
 * deserialize反序列化 默认 true
 * @author liangjilong
 * @Email:[email protected]
 */
public class Address implements Serializable{
	@Expose(serialize=false)// 序列化  /Address类已经序列化
	private int id;
	@Expose(deserialize=false)// 反序列化
	private String country;//国家
	private String province;//省份
	private String city;//城市
	private String street;//街道
	private String district;//地区
	private String cityCode;//邮政编码
	private String streetNumber;//街道号
	private String weibo;//微博
	public Address() {
	}

	public Address(int id,String country) {
		this.id=id;
		this.country=country;
	}
	public String getCityCode() {
		return cityCode;
	}
	public void setCityCode(String cityCode) {
		this.cityCode = cityCode;
	}
	public String getStreetNumber() {
		return streetNumber;
	}
	public void setStreetNumber(String streetNumber) {
		this.streetNumber = streetNumber;
	}
	public String getStreet() {
		return street;
	}
	public void setStreet(String street) {
		this.street = street;
	}
	public String getDistrict() {
		return district;
	}
	public void setDistrict(String district) {
		this.district = district;
	}
	public String getCity() {
		return city;
	}
	public void setCity(String city) {
		this.city = city;
	}
	public String getProvince() {
		return province;
	}
	public void setProvince(String province) {
		this.province = province;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getCountry() {
		return country;
	}

	public void setCountry(String country) {
		this.country = country;
	}

	public String getWeibo() {
		return weibo;
	}

	public void setWeibo(String weibo) {
		this.weibo = weibo;
	}

}

时间: 2024-10-16 22:02:48

【第3篇】通过JSON-Lib把数组转换成Json数据的相关文章

php json_encode 将数组转换成json格式数据出错

当用php 的 json_encode 函数将数组转换成json格式的时候,如果该数组是一个索引数组而且数组的索引的顺序不是按照0,1,2...排序的话,在转换成json数据的时候就不能得到你所想要的json数组,而是一个json对象 这个问题是在开发app接口的时候发现的,因为php和app之前是通过json数据格式进行数据通讯的,而app那边对json的数组和对象类型很敏感,本来是数组格式的,可是突然变对象了,导致出错,后来就发现,php这边的索引数组的键名没有按照顺序排序的,导致转成jso

字符串集合或字符串数组转换成json数组

字符串可以是List<String>类型的字符串集合,也可以是String[]类型的字符串数组,二者转换成JSON数组的方式没有什么不同.下面代码注意关键的部分即可(画红线部分). 1. List<String>类型的字符串集合转换成JSON数组,如下所示: List<String> shotLst = ecsDao.selectShotInstanceData4Ali(requestShotMap); JSONArray shotrray = JSONArray.fr

$.toJSON的用法或把数组转换成json类型

1. html页面全部代码 <html> <head>     <title></title> <script src="../../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> <script src="../../Scripts/JqueryJson.js" type="text

将字典或者数组转换成JSON数据或者字符串

源码: NSDictionary+JSON.h 与 NSDictionary+JSON.m // // NSDictionary+JSON.h // Category // // Created by YouXianMing on 15-2-09. // Copyright (c) 2014年 YouXianMing. All rights reserved. // #import <Foundation/Foundation.h> @interface NSDictionary (JSON)

如何把一个json格式的字符串转换成json,并获取他的节点值

1 引用newtonsoft.json.bll2 3 var obj = Newtonsoft.Json.Linq.JObject.Parse(jsons);//把json格式的字符串转换成json4 5 obj["URL"].ToString();//获取json节点的值

使用JSONKit将字符串,字典,数组转换成json格式

NSString *str = nil; //字符串     NSMutableString *string = [[NSMutableString alloc] init];     [string appendString:@"xxxx"];     str = [string JSONString];     NSLog(@"str1:%@",[NSString stringWithString:str]);               //数组     NS

js数组转换成json串 (JSON.stringify)

例如: var giftlist[1490011777] = []; giftlist[1490011777]['id'] = 1490011777; giftlist[1490011777]['name'] = "礼包测试"; giftlist[1490011777]['desc'] = "详情"; 转换json串 var jsonStr = JSON.stringify(giftlist[1490011777]);

js实现数组转换成json

示例如下function arrayToJson(o) { var r = []; if (typeof o == "string") return "\"" + o.replace(/([\'\"\\])/g, "\\$1").replace(/(\n)/g, "\\n").replace(/(\r)/g, "\\r").replace(/(\t)/g, "\\t"

JSON.stringify实例应用—将对象转换成JSON类型进行AJAX异步传值

在上一篇中,对JSON.stringify()方法有了初步的认识,并且做了一些简单的例子.本篇将进一步将JSON.stringify用在复杂些的实例中,例如如下需求: 在进jQuery AJAX异步传值时,用JSON.stringify()函数将数组转换成(JSON:JavaScript Object Notation 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式),再传到一般处理程序中,在一般处理程序中,把得到的值进行反序列化Deserialize<T>(v