json解析问题
{"error_code":0,"msg":"执行成功","data":[{"client_id":"1","cid":"169","name":"国内"},{"client_id":"1","cid":"170","name":"国际"},{"client_id":"1","cid":"171","name":"体育"},{"client_id":"1","cid":"172","name":"军事"},{"client_id":"1","cid":"174","name":"教育"},{"client_id":"1","cid":"173","name":"财经"},{"client_id":"1","cid":"200","name":"旅游"},{"client_id":"1","cid":"38","name":"视频新闻"}]}
这个怎么解析,新手求指点
最佳答案
网页BJSON 进入json相关 json视图 解析过后 按照java开发 进行分拆


追问:
解析代码public void parseJsonArray(String string){ try { JSONObject jsonObject = null; try { jsonObject = new JSONObject(string).getJSONObject("error_code"); } catch (JSONException e) { e.printStackTrace(); } JSONArray jsonArray = jsonObject.getJSONArray("data"); StringBuffer sb = new StringBuffer(); for(int i = 0;i < jsonArray.length();i ++){ JSONObject json = (JSONObject) jsonArray.opt(i); int client_id = json.getInt("client_id"); int cid = json.getInt("cid"); String name = json.getString("name"); }// } catch (JSONException e) { e.printStackTrace(); } }这样写对吗 追答:
@Testpublic void parseJsonArray() {String string = "{\"error_code\":0,\"msg\":\"执行成功\",\"data\":[{\"client_id\":\"1\",\"cid\":\"169\",\"name\":\"国内\"},{\"client_id\":\"1\",\"cid\":\"170\",\"name\":\"国际\"}]}";try {StringReader sr = new StringReader(string);JsonReader jr = new JsonReader(sr);jr.beginObject();if (jr.nextName().equals("error_code")) {System.out.println("错误码: " + jr.nextInt());if (jr.nextName().equals("msg")) {System.out.println("错误信息: " + jr.nextString());}if (jr.nextName().equals("data")) {jr.beginArray();while (jr.hasNext()) {jr.beginObject();if (jr.nextName().equals("client_id"))System.out.print("客户端id:" + jr.nextString());if (jr.nextName().equals("cid")) {System.out.println(" cid:" + jr.nextString());}if (jr.nextName().equals("name")) {System.out.println(" name" + jr.nextString());}jr.endObject();}jr.endArray();}}jr.endObject();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}} 追答:
这个用的gsonjar包解析出来的 我试验了 你看看能不能用
追问:
非常感谢!可以加个好友吗
LF19921017
其他回答
其它网友回答:
第一种类型,字符编码问题
其它网友回答:
由于json只接受utf-8编码的字符,所以json_encode()的参数必须是utf-8编码,否则会得到空字符或者null。当中文使用GB2312编码,或者外文使用ISO-8859-1编码的时候,这一点要特别注意。
其它网友回答:
第二种类型BOM问题
其它网友回答:
BOM报头又叫UTF-8签名,其实UTF-8 的BOM对UFT-8没有作用,是为了支援UTF-16,UTF-32才加上的BOM,BOM签名的意思就是告诉编辑器当前文件采用何种编码,方便编辑器 识别,但是BOM虽然在编辑器中不显示,但是会产生输出,就像多了一个空行,一般的php代码如果用记事本等软件编辑保存过之后,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。(
其它网友回答: