导航:首页 > 操作系统 > android解析json框架

android解析json框架

发布时间:2023-01-09 04:35:15

android 中解析 JSON

JSON( JavaScript Object Notation ) 是一种轻量级的数据交换格式。易于阅读和编写,同时也易于机器解析和生成。

JSON 建构于两种结构:

JSON 具有以下这些格式:

参考: Android 中 解析 JSON

Android 提供类四种不同的类来操作 JSON 数据。这些类是 JSONArray、JSONObject、JSONStringer 和 JSONTokenizer

为了解析 JSON 对象,须先创建一个 JSONObject 类的对象,需要传入需解析的字符串 JSONObject root = new JSONObject(candyJson); 然后根据 JSONObject 对象提供方法以及数据类型解析对应 json 数据。下表展示一些 JSONObiect 提供的方法

示例:

② android中解析json数据的org.json包中最重要

android中解析json数据的org.json包中最重要的是jsonarray。
jsonarray主要是解析json数据,因此四最重要的。
Android是一种基于Linux的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑。

③ Android json解析

关于json解析有很多第三方的jar包可以使用,如gson,也可以使用android自带的工具类org.json包下,这里你可以使用JSONTokener(json解析类 ),例:

// {
// "phone" : ["12345678", "87654321"], // 数组
// "name" : "yuanfei89", // 字符串
// "age" : 100, // 数值
// "address" : { "country" : "china", "province" : "jiangsu" }, // 对象
// "married" : false // 布尔值
// }

private static final String JSON =
"{" +
" \"phone\" : [\"12345678\", \"87654321\"]," +
" \"name\" : \"yuanfei89\"," +
" \"age\" : 100," +
" \"address\" : { \"country\" : \"china\", \"province\" : \"jiangsu\" }," +
" \"married\" : false," +
"}";

try {
JSONTokener jsonParser = new JSONTokener(JSON);
// 此时还未读取任何json文本,直接读取就是一个JSONObject对象。
// 如果此时的读取位置在"name" : 了,那么nextValue就是"yuanfei89"(String)
JSONObject person = (JSONObject) jsonParser.nextValue();
// 接下来的就是JSON对象的操作了
person.getJSONArray("phone");
person.getString("name");
person.getInt("age");
person.getJSONObject("address");
person.getBoolean("married");
} catch (JSONException ex) {
// 异常处理代码
}

可参考:http://www.open-open.com/lib/view/open1326376799874.html

④ Android开发中应该使用哪一种主流json框架

Gson、FastJson、Jackson每种都有自己的优劣势。
Gson、FastJson、Jackson综合对比

三种框架在实现上都使用了反射机制;

三种框架目前仍然在维护,所以从这一点来讲,使用任何一个框架都是靠谱的,因为有人在维护,反馈问题可以改,遇到问题也可以问;

三种框架FastJson的包最小(为了方便对比大小,均是对jar包做的统计),只有196K,其次是Gson的227K,Jackson会大很多,超过了1M;

三种框架在1000倍数据量级以内效率都很高、占用内存也低,效率最高的是FastJson,内存占用都差不多;1000倍数据量级以上内存占用会很大,并且平均耗时会超过1S,FastJson表现中规中矩;

json解析、转换是一件很耗CPU的工作;

三种框架在bean转换为json时都有很好的易用性,但在json解析的实现上,FastJson使用起来最简单,其次是Gson;

FastJson对bean有要求,必须要有默认的构造函数,如果bean类没有默认的构造函数并且是无法修改的(比如拿不到源码),相比于另外两个框架会有弱势。

⑤ android 用JSON 解析数据接口方法

接口获取下来的数据为

{"status":200,"message":"查询成功","data":{"id":32,"user_id":null,"user_code":null,"user_pass":null,"meeting_id":"1","meeting_pass":null,"config_param_ip":"11.1.1.70","port":"6501","web_config_param_ip":"11.1.1.70","web_port":"6501","unit_code":null,"create_time":null,"update_time":null,"status":0,"userCode":"video1","userPass":"video1","meetingId":"1","meetingPass":"","apiPort":"13000","username":"admin","password":"123456","updateTime":"2021-11-08 17:45:29"}}

使用方法

try {

    JSONObject jsonObject = new JSONObject(outstring);

    int resultCode = jsonObject.getInt("status");

    if (resultCode == 200) {

        JSONObject obj = jsonObject.getJSONObject("data");

        IP = obj.getString("config_param_ip");

        port = obj.getString("web_port");

        username = obj.getString("userCode");

        password = obj.getString("userPass");

        roomID = Integer.parseInt(obj.getString("meetingId"));

        roomPassword = obj.getString("password");

    } else {

        ToastUtils.showShort("查询失败");

    }

    goVideo();

} catch (Exception e) {

    e.printStackTrace();

}

阅读全文

与android解析json框架相关的资料

热点内容
未来最值得投资的加密货币 浏览:524
ascii码是编译的时候用吗 浏览:779
压缩机感应包可以通用吗 浏览:410
方舟服务器怎么发布到搜索列表 浏览:270
xml防反编译 浏览:239
数据传输加密系统技术方案 浏览:842
程序员没有准备去面试 浏览:4
51单片机usb鼠标 浏览:879
qq服务器的ip地址查询 浏览:112
java仿qq聊天 浏览:400
解压的ipa重新打包 浏览:142
程序员那么可爱vip版 浏览:239
程序员怎么升职 浏览:243
图形化命令按钮vb 浏览:987
vcu盘加密怎么设置 浏览:414
如何加密备份微信聊天记录 浏览:529
安卓手机如何模拟键盘 浏览:931
查看dns地址命令 浏览:768
android录屏工具 浏览:841
成都互动直播系统源码 浏览:955