⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tojson.java

📁 用最近的dojo1.2.1制作前端的ajax购书网站
💻 JAVA
字号:
/*
 * Created on 2008-11-27
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
package changeToJson;
import java.lang.*;//use class:StringBuffer,String,Number,Boolean
import java.util.*;
/**
 * @author Owner
 *
 * 使用说明:直接调用toJson方法转换
 * 
 */
public class ToJson {

	/**
	 * 
	 */
	public ToJson() {
		super();
		// TODO Auto-generated constructor stub
	}
	
	static String stringToJson(String s){
		StringBuffer sb = new StringBuffer(s.length()+20);
		sb.append('\"');
		for(int i=0; i<s.length();i++){
			char c = s.charAt(i);
			switch(c){
				case '\"':
				sb.append("\\\"");
				break;
				case '\\':
				sb.append("\\\\");
				break;
				case '/':
				sb.append("\\/");
				break;
				case '\b':
				sb.append("\\b");
				break;
				case '\f':
				sb.append("\\f");
				break;
				case '\n':
				sb.append("\\n");
				break;
				case '\r':
				sb.append("\\r");
				break;
				case '\t':
				sb.append("\\t");
				break;
				default:
				sb.append(c);
			}
		}
		sb.append('\"');
		return sb.toString();
	}
	static String numberToJson(Number number){
		return number.toString();
	}
	static String booleanToJson(Boolean bool){
		return bool.toString();
	}
	static String arrayToJson(Object[] array){
		if(array.length == 0){
			return "[]";
		}
		StringBuffer sb = new StringBuffer(array.length << 4);
		sb.append('[');
		//for (Object o : array){//为什么会报错。。。
		for(int i = 0; i < array.length; ++i){
		//	sb.append(toJson(o));
			sb.append(toJson(array[i]));
			sb.append(',');
		}
		sb.setCharAt(sb.length()-1,']');
		return sb.toString();
	}
	static String mapToJson(Map map){
		if(map.isEmpty()){
			return "{}";
		}
		StringBuffer sb = new StringBuffer(map.size() << 4);
		sb.append('{');
		Set keys = map.keySet();
		for(int i = 0; i < keys.size(); ++i){
		//for(String key : keys){//为什么会报错。。。
		//	Object value = map.get(key);
			Object[] temp = keys.toArray();
			Object value = map.get((String)temp[i]);
			sb.append('\"');
		//	sb.append(key);
			sb.append((String)temp[i]);
			sb.append('\"');
			sb.append(':');
			sb.append(toJson(value));
			sb.append(',');
		}
		sb.setCharAt(sb.length()-1,'}');
		return sb.toString();		
	}
	public static String toJson(Object o){
		if(o == null){
			return "null";
		}
		if(o instanceof String){
			return stringToJson((String) o);
		}
		if(o instanceof Boolean){
			return booleanToJson((Boolean) o);
		}
		if(o instanceof Number){
			return numberToJson((Number) o);
		}
		if(o instanceof Map){
			return mapToJson((Map) o);
		}
		if(o instanceof Object[]){
			return arrayToJson((Object[]) o);
		}
		throw new RuntimeException("Unsupported type:"+o.getClass().getName());					
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -