📄 tojson.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 + -