static void escape(String s, StringBuffer sb) {
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
switch (ch) {
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;
case '/':
sb.append("///");
break;
default:
// Reference: http://www.unicode.org/versions/Unicode5.1.0/
if ((ch >= '/u0000' && ch <= '/u001F')
|| (ch >= '/u007F' && ch <= '/u009F')
|| (ch >= '/u2000' && ch <= '/u20FF')) {
String ss = Integer.toHexString(ch);
sb.append("//u");
for (int k = 0; k < 4 - ss.length(); k++) {
sb.append('0');
}
sb.append(ss.toUpperCase());
} else {
sb.append(ch);
}
}
}
}
}
测试代码:
Java代码
package info.moogens.mvc.tools.json;
public final class User {
private String name ,id;
private Address ress ;
public User(){
this.name = "色色";
this.id = "123";
this.ress = new Address();
this.ress.setCity("北京");
this.ress.setZip(10086);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Address getRess() {
return ress;
}
public void setRess(Address ress) {
this.ress = ress;
}
}
class Address {
private String city;
private int zip ;
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public int getZip() {
return zip;
}
public void setZip(int zip) {
this.zip = zip;
}
}
Java代码
package info.moogens.mvc.tools.json;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import info.moogens.demo.pcmaster.Application;
import info.moogens.mvc.tools.Toolkit;
import info.moogens.mvc.web.UDI;
public class X {
/**
* @param args
*/
public static void main(String[] args) {
// System.out.println((String)null);
System.out.println(Toolkit.toJson(UDI.parseUDIString("/book/show")));
System.out.println(Toolkit.toJson(new Application()));
System.out.println(Toolkit.toJson(new User()));
List list = new ArrayList();
list.add("abc我是");
list.add(new Integer(123));
list.add(new Double(222.123));
list.add(new Boolean(true));
list.add(null);
Map map = new HashMap();
map.put("name","fang");
map.put("age",new Integer(27));
map.put("is_developer",new Boolean(true));
map.put("weight",new Double(60.21));
map.put("user",new User());
map.put("list",list);
int[] array = new int[5];
array[4] = 72 ;
array[3] = 21 ;
array[1] = 12 ;
map.put("array",array);
System.out.println(Toolkit.toJson(map));
}
}
测试结果:
写道
Js代码
{"namespace":"default", "action":"show", "controller":"Book"}
{}
{"ress":{"zip":10086, "city":"北京"}, "name":"色色", "id":"123"}
{"list":["abc我是", 123, 222.123, true, null], "user":{"ress":{"zip":10086, "city":"北京"}, "name":"色色", "id":"123"}, "age":27, "is_developer":true, "name":"fang", "weight":60.21, "array":[0, 12, 0, 21, 72]}
① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;
② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。