js如何获取json内的数据,怎么提取json格式的数据
JSON是第一个数据结构。说白了就是数据的描述。它似乎取代了XML,但不幸的是并没有。但是,作为一个配置文件,它是非常好的。因为它小巧灵活,可以很好的描述数据,所以在网络上传输数据更加方便。
请记住JSON对数据的描述形式。既然是表单,那么它的数据表单是什么样的:
对象的描述是:{}这代表jsonobject(json对象)
对数组的描述是:[]表示jsonarray(json数组)
或值的说明是: ""
连接之间的描述是:
如何解决写爬虫IP受阻的问题?立即使用。
示例格式是这样的:
{
“ret”:1,
"数据":[
{
" id": "8289 ",
【书名】:“油焖大虾”,
" collect _ num ":“1596”,
" food_str ":"大虾葱姜植物油料酒",
【货号】:1596
},第一种方法:原生解析
首先分析一下json的格式,这里有一个json对象(即json对象),里面嵌套了一个JsonArray(即jsonarray),这是另一个json object。如果分析清楚了,就可以解析了。当然最好的是建立一个与json对应的实体类bean。
这里的结果是网络请求返回的json字符串。
JSONObject jsonObject=新JSONObject(结果);
JSON array JSON array=JSON object . getjson array(" data ");
for(int j=0;j JSON array . length();j ) {
JSON object JSON object 2=JSON array . getjson object(j);
string id=JSON object 2 . getstring(" id ");
string title=JSON object 2 . getstring(" title ");
string pic=JSON object 2 . getstring(" pic ");
string collect _ num=JSON object 2 . getstring(" collect _ num ");
string food _ str=JSON object 2 . getstring(" food _ str ");
string num=JSON object 2 . getstring(" num ");
Log.e("json——-",id "," title "," pic "," collect_num "," food_str "," num ");
第二种解析方式:Gson解析
Gson解析需要下载gson.jar包。
这里,您需要为json生成一个实体类来进行解析。如果是初学者,建议手写。如果熟悉的话,可以使用Android Studio中的插件GsonFormat自动生成。
分析是一句话的事:
MenuBean menuBean=new Gson()。fromJson(result,menu bean . class);
log . e(" menu bean ——" menu bean . getret()" ");
第三种解析方式:FastJson和Gson类似的。
menu bean menu bean=JSON . parse object(result,menu bean . class);
log . e(" menu bean ——" menu bean . getret()" ");
log . e(" menu bean ——" menu bean . get data()。获取(0)。getPic()" ");
第四种解析方式:JackJson解析,同样和上面类似
MenuBean menuBean
menuBean=新对象映射器()。readValue(result,menu bean . class);
log . e(" menu bean ——" menu bean . getret()" ");
log . e(" menu bean ——" menu bean . get data()。获取(0)。getPic()" ");这就是如何在json中获取数据细节的方法。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。