这段时间我们在做一个英语翻译软件的小小小APP,涉及到了对Json数据的解析,所以特地来总结一下!
假设我们要对如下数据进行解析,其实在平时,返回的Json数据是很乱的,很难分清数据的关系,这是经过相关工具美化后的结果
{ "translation": [ "爱" ], "basic": { "us-phonetic": "lʌv", "phonetic": "lʌv", "uk-phonetic": "lʌv", "explains": [ "n. 恋爱;亲爱的;酷爱;喜爱的事物", "vt. 喜欢;热爱;爱慕", "vi. 爱", "n. (Love)人名;(英)洛夫" ] }, "web": [ { "value": [ "爱情", "爱", "爱" ], "key": "Love" }, { "value": [ "无尽的爱", "蓝色生死恋", "不了情" ], "key": "Endless Love" }, { "value": [ "早恋", "青春期恋爱", "初恋" ], "key": "puppy love" } ] }
我们把数据定义为一个字符串,加入转义字符之后就成了这样,有点乱是吧,所以我们根据上图分析就好啦。
Json数据说白了就是对象和数组的相互嵌套,那么我们开始吧!
String st = "{\"translation\":[\"爱\"],\"basic\":{\"us-phonetic\":\"lʌv\",\"phonetic\":\"lʌv\",\"uk-phonetic\":\"lʌv\",\"explains\":[\"n. 恋爱;亲爱的;酷爱;喜爱的事物\",\"vt. 喜欢;热爱;爱慕\",\"vi. 爱\",\"n. (Love)人名;(英)洛夫\"]},\"query\":\"love\",\"errorCode\":0,\"web\":[{\"value\":[\"爱情\",\"爱\",\"爱\"],\"key\":\"Love\"},{\"value\":[\"无尽的爱\",\"蓝色生死恋\",\"不了情\"],\"key\":\"Endless Love\"},{\"value\":[\"早恋\",\"青春期恋爱\",\"初恋\"],\"key\":\"puppy love\"}]}"; JSONObject str = JSONObject.fromObject(st); //json数据的最外层肯定是一个对象,参数为字符串 //对象str又分为3部分:translation,basic,web if(str.has("translation")){ JSONArray tr = str.getJSONArray("translation"); //translation是一个json数组 for(int i = 0 ;i
到这里就解析完啦!
以上这篇使用Java进行Json数据的解析(对象数组的相互嵌套)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。