本文主要介绍java解析php函数json_encodeunicode编码问题,有需要的朋友可以参考。android开发过程中,连接服务端接口时出现编码问题。从服务端获取的数据为"\u8bbe\u59071ID-\u8bbe\u59071\u540d\u79f0;\u8bbe\u59073id-\u8bbe\u59073\u540d\u79f0;\u8bbe\u59077id-\u8bbe\u59077\u540d\u79f0”接口在php函数中经过json_encode编码后返回,在客户端通过java.net.URLdecoder.decode()解码不起作用,而是将上述字符直接复制到decode()方法中的字符串可以正常解码,但是接收到的字符串经过utf-8编码后不起作用。***在网上搜索相关资料找到解决办法。1、json_encode的作用:json_encode——变量的JSON编码。说明:stringjson_encode($value),返回JSON形式的值。参数:待编码的值,可以是除资源类型以外的任意数据类型。该函数只能接受UTF-8编码的数据(译注:指字符/字符串类型数据)返回值:如果编码成功,返回一个以JSON形式表示的字符串。2、客户端使用java语言解码:第一种方法publicStringunescapeUnicode(Stringstr){StringBufferb=newStringBuffer();Matcherm=Pattern.compile("\\\\u([0-9a-fA-F]{4})").匹配器(str);while(m.find())b.append((char)Integer.parseInt(m.group(1),16));returnb.toString();}直接用unescapeUnicode()方法解码。2.使用json_simple.jar包解析下载地址:http://www.jb51.net/softs/455885.htmlJSON.simple是一个简单的Java类库,用于解析生成JSON文本。不依赖其他类库,性能高。Objectobj=JSONValue.parse(jsonStr);returnobj.toString();Object:
