json数组与对象类型转换

原创 2013年12月04日 10:12:08

 

package hb.dto;

import java.text.SimpleDateFormat;
import java.util.Date;

import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;

public class MyJsonValueProcessor implements JsonValueProcessor {
	private String format = "yyyy-MM-dd";

	public MyJsonValueProcessor() {
	}

	public MyJsonValueProcessor(String format) {
		this.format = format;
	}

	@Override
	public Object processArrayValue(Object value, JsonConfig arg1) {
		String[] obj = {};
		if (value instanceof Date[]) {
			SimpleDateFormat sf = new SimpleDateFormat(format);
			Date[] dates = (Date[]) value;
			obj = new String[dates.length];
			for (int i = 0; i < dates.length; i++) {
				obj[i] = sf.format(dates[i]);
			}
		}
		return obj;
	}

	@Override
	public Object processObjectValue(String key, Object value,
			JsonConfig jsonconfig) {
		if (value instanceof Date) {
			String str = new SimpleDateFormat(format).format((Date) value);
			return str;
		}
		return value.toString();
	}

	public String getFormat() {
		return format;
	}

	public void setFormat(String format) {
		this.format = format;
	}
}

 

 

package hb.dto;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;

public class DateToJson {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		 JsonConfig jsonConfig = new JsonConfig();
		 jsonConfig.registerJsonValueProcessor(Date.class,
		           new MyJsonValueProcessor("yyyy-mm-dd"));
		 String str="{'age':12,'name':'huangbiao','birthday':'1999-9-9'}";
		 Map map = new HashMap();
		 map.put("date", new Date());
		 JSONObject json = JSONObject.fromObject(map, jsonConfig);
		 System.out.println(json);
	}

}

  

//字符转日期类型

import java.util.Collection;
import net.sf.ezmorph.object.DateMorpher;
import net.sf.json.JSONArray;
import net.sf.json.util.JSONUtils;

public class JsonToDate {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(new String[] { "yyyy-MM-dd" }));
		String jsonStr = "[{'age':12,'name':'huangbiao','birthday':'1999-9-9'}]";
		Collection<Person> list = JSONArray.toCollection(JSONArray.fromObject(jsonStr), Person.class);
		for (Person o : list) {
			System.out.println(o.getBirthday());
		}
	}

}

 

解析json数组对象

项目中第一次遇到解析json时返回的是数组对象,经查阅相关资料,解决方法如下: 第一种方法: import java.lang.reflect.Type; import java.ut...
  • weiyuanzhuo
  • weiyuanzhuo
  • 2016年11月07日 17:03
  • 2460

Java获取json数组对象的方法

JSONArray jsonArray1 = jsonObject.getJSONArray("result"); for (int i = 0; i < jsonArray1.length(...
  • u010770184
  • u010770184
  • 2017年05月09日 10:15
  • 1510

JAVA中快速解析JSON对象里包含的JSON数组

例如现在有这样一个Json String Value =  {"data":[{"school_name":"西北农林科技大学","school_id":"8"},{"school_name":"西北...
  • zhao87104523
  • zhao87104523
  • 2015年05月22日 14:49
  • 17455

【项目中】解析json数组对象

项目中第一次遇到解析json时返回的是数组对象,经查阅相关资料,解决方法如下: 第一种方法: import java.lang.reflect.Type; import java.util.Ite...
  • tablle
  • tablle
  • 2016年08月22日 14:53
  • 2824

java中对象类型转换

java对象类型转换         java对象类型转换,当对不具有相同类型的对象进行强制类型转换时,java运行时将抛出java.lang.ClassCastException的错误,这不单...
  • u012179540
  • u012179540
  • 2014年10月19日 14:49
  • 641

json格式对象和数组的不同处理方法

json格式对象和数组的不同处理方法
  • wlzx120
  • wlzx120
  • 2017年07月19日 15:18
  • 217

JSON数组,JSON对象,数组的区别与基本操作整理

JSON 语法规则 JSON 语法是 javascript 对象表示语法的子集。 数据在名称/值对中 数据由逗号分隔 花括号保存对象 方括号保存数组 JSON 名称/值对 JSON 数据的书写格...
  • linuxheik
  • linuxheik
  • 2017年06月19日 16:22
  • 4696

json数组与对象

1、JSON对象序列化为字符串,例如 {"24":"41","26":"51","25":"31"} 2、JSON数组序列化为字符串 例如 [1,2,3,4]...
  • w6028819321
  • w6028819321
  • 2015年03月25日 12:45
  • 273

Json传对象数组到后台并转化成Java对象数组

Json传递数据到后来很方便,但是遇到复杂的数据传递,不注意细节会很容易报错。下面就来分享一下我的代码片段吧: 1、我们在做批量处理的时候,都希望传递一个对象数组到后来,这样存入数据库也就很方便了。...
  • findblackhorse
  • findblackhorse
  • 2017年08月27日 21:35
  • 866

JSON对象数组到Java的转换

json用来在客户端和服务器端之间传输数据很是简洁和方便,但是如果客户端传输的是对象数组的话,得做如下的处理:JSONArray testJSONArray=JSONArray.fromObject(...
  • hyman_xie
  • hyman_xie
  • 2011年03月16日 13:21
  • 4631
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:json数组与对象类型转换
举报原因:
原因补充:

(最多只允许输入30个字)