以前のエントリー(【Java】JSON-lib)で、JavaのMapからJSONを出力しましたが、このままだと日本語がUnicodeにエンコードされないので、PHPでいうjson_encodeをJavaで実現したいと思います。
以下の関数でUnicodeにエンコードできます。
▽ソース▽
public static String unicodeEscape(String v){
if(v == null )return "";
char[] charValue = v.toCharArray();
StringBuilder result = new StringBuilder();
for(char ch : charValue){
if(ch != '_' && !(ch >= '0' && '9' >= ch) && !(ch >= 'a' && 'z' >= ch) && !(ch >= 'A' && 'Z' >= ch)){
String unicodeCh = Integer.toHexString((int)ch);
result.append("\\u");
for(int i=0;i<4-unicodeCh.length();i++){
result.append("0");
}
result.append(unicodeCh);
}else{
result.append(ch);
}
}
return result.toString();
}

