Android如何解析json字符串

liuzhen007 等级 554 0 0

前言

上一篇文章介绍了服务器用Golang如何解析json字符串,今天我们来看看Android客户端是如何解析json字符串的。

正文

Golang如何解析post请求中的json字符串

使用java语句如何正确解析json字符串呢? 举一个例子,假如我们想从rtc_info字符串中解析出参数token。

方法一

最简单的做法如下:

String info = jsonObj.getString("rtc_info");
JSONObject jObj = new JSONObject(info);
token = jObj.getString("token");

方法二

稍微有经验的人会这样写,这是一种以防万一的做法:

try {    
    String info = jsonObj.getString("rtc_info");
    JSONObject jObj = new JSONObject(info);
    token = jObj.getString("token");
} catch (JSONException e) {
    e.printStackTrace();
}

方法三

但方法二也是存在缺陷的,其实更好的写法是这样,在解析一个参数之前,应该先判断它是否存在:

try {    
    String info = jsonObj.getString("rtc_info");
    JSONObject jObj = new JSONObject(info);
    if (!jObj.has("token")) {
        showToast("Failed to got token!");
        return;
    } else {
        token = jObj.getString("token");
    }
} catch (JSONException e) {
    e.printStackTrace();
}

除了上述的方法,当然还有更好的写法。

结论

通过这个例子,阐述一个深刻的道理:代码没有最好,只有更好,我们应该尽可能追求完美的代码!

收藏
评论区

相关推荐

Android如何解析json字符串
前言上一篇文章介绍了服务器用Golang如何解析json字符串,今天我们来看看Android客户端是如何解析json字符串的。 正文Golang如何解析post请求中的json字符串(https://www.helloworld.net/p/O917HGeiALU2D)使用java语句如何正确解析json字符串呢?举一个例子,假如我们想从rtc_i
一篇长文带你在python里玩转Json数据
↑一个宝藏公众号,长的好看的人都关注了 Json简介 Json(JavaScript Object Notation) 很多网站都会用到Json格式来进行数据的传输和交换,就像上篇我提到的,它们返回的数据都是Json格式的。这因为Json是一种轻量级的数据交换格式,具有数据格式简单,读写方便易懂等很多优点。用它来进行前后端的数据传输,大
Spring Boot 无侵入式 实现RESTful API接口统一JSON格式返回
前言现在我们做项目基本上中大型项目都是选择前后端分离,前后端分离已经成了一个趋势了,所以总这样·我们就要和前端约定统一的api 接口返回json 格式,这样我们需要封装一个统一通用全局 模版api返回格式,下次再写项目时候直接拿来用就可以了 约定JSON格式一般我们和前端约定json格式是这样的json "code": 200, "message
2、尚硅谷_SSM高级整合_使用ajax操作实现页面的查询功能
16、尚硅谷\_SSM高级整合\_查询\_返回分页的json数据.avi 在上一章节的操作中我们是将PageInfo对象存储在request域中,然后list页面解析request域中的对象实现信息的显示。但是上面的操作只适合客户端是浏览器的情况。如果客户端是android,也要查询人员列表信息,这个时候服务器返回的数据应该是json数据,所以我们需要对后
ANDROID解析JSON数据
这一个环节可以说是卡的比较久的了。对于用惯了php那样的json解析方式的我,头一次使用JAVA的json解析方法,感到非常的头疼。 首先,服务端返回的数据格式如下: [     {         "title":"\u8bdd\u8d39\u514d\u8d39\u62bd",         "aname":"\u8
JSON介绍
一、什么是JSON? JSON是一种轻量级的数据格式,一般用于数据交互。 服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) JSON的格式很像OC中的字典和数组 {"name" : "jack", "age" : 10} {"names" : \["jack", "rose", "jim"\]} 标准JSON格式的
JSON,异步加载(学习笔记)
JSON是一种传输数据的格式(以对象为样板,本质上就是对象,但用途有区别,对象就是本地用的,json是用来数据传输的,前端与后端的数据通信) JSON是静态类(不需要构造),类似于Math,内部有各种函数      1).JSON.parse();string->json (解析成对象属性和属性值,可以进行调用)     2).JSON.stringi
Loadrunner测试json接口实例以及 web_custom_request 函数详解
1\. loadrunner + json说明 ----------------------- 使用lr测试json接口,向服务端发送json格式请求,接收处理返回响应数据。 主要用到函数:   1)web\_custom\_request   2)web\_reg\_save\_param (此函数常用户处理动态参数,该方法在LoadRunner中
Ajax和SpringMVC之间JSON交互
Ajax和SpringMVC之间的json数据传输有两种方式: 1.直接传输Json对象 2.将Json序列化成json字符串 #### 1.直接传输Json对象 前端Ajax $(document).ready(function(){ $("#btn_login").click(function(){
Android Study 之 彻底解决 Gson解析 异常 :JsonSyntaxException
LZ-Say:大风呼呼的刮,就好像妖精要来的前奏一样~ ![](https://oscimg.oschina.net/oscnet/c95e0ee5cb176f7af34d9866a310c8f9cf7.jpg) 前言 开发过程中,App常用的接收参数的时候,几乎大部分都是以json格式为主,那么有关解析json的方式有很多,Andro
Go的json解析:Marshal与Unmarshal
简介 Json(Javascript Object Nanotation)是一种数据交换格式,常用于前后端数据传输。任意一端将数据转换成json 字符串,另一端再将该字符串解析成相应的数据结构,如string类型,strcut对象等。 go语言本身为我们提供了json的工具包”encoding/json”。 更多的使用方式,可以参考:[https:
JS 获取json key和value
var json= { "Type": "Coding", "Height":100 }; for (var key in json) { alert(key);  //Type, Height alert(json[key]); //Coding, 100
Kurento协议
Kurento媒体服务器可以被两种外部Kurento客户端控制,如Java或JavaScript。这些客户端使用Kuernto协议来和KMS通信。Kurento 协议是基于WebSocket协议,并使用了JSON-RPC V2.0 消息来提交请求和发送响应。 ### JSON-RPC 消息格式 Kurento协议使用JSON-RPC V2.0 编码它的消
Play For Scala 开发指南
**Play Json 简介** Play 内置了一套JSON库,以帮助开发者简化JSON操作。目前Play的JSON库包含以下功能: * Json对象与字符串之间互转 * Json对象和Case Class之间互转 * Json数据校验 * Json格式之间互转 Play的JSON库并不依赖于P
Python JSON
JSON 函数 ------- 使用 JSON 函数需要导入 json 库:**import json**。 函数 描述 json.dumps 将 Python 对象编码成 JSON 字符串 json.loads 将已编码的 JSON 字符串解码为 Python 对象 json.dumps ---------- json.dumps 用于将