Android json基础

简介: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。
——JSON官网:http://www.json.org/json-zh.html

一.定义

JSON建构于两种结构:

  • 列表内容“名称/值”对的集合(A collection of name/value pairs)。
    不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
  • 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。

  1. 对象模式: {“name”: “xiaoluo”} , 这就是一个最简单的json对象,对于这种数据格式,key值必须要是string类型,而对于value,则可以是string、number、object、array等数据类型
  2. 数组模式:这种形式被称为是jsonArray,数组是值(value)的有序集合。一个数组以“[”开始,“]”结束。值之间使用“,”(逗号)分隔。

二.解析JSON数据

Android提供的Json解析类:

  • JSONObject: Json对象,可以完成Json字符串与Java对象的相互转换
  • JSONArray: Json数组,可以完成Json字符串与Java集合或对象的相互转换
  • JSONStringer:Json文本构建类,这个类可以帮助快速和便捷的创建JSON text, 每个JSONStringer实体只能对应创建一个JSON text
  • JSONException:Json异常

JSONObject简单使用示例:

infoMap = new HashMap<String, Object>();
try  {
            JSONObject root = new JSONObject(stringBuilder.toString());
            Iterator actions = root.keys();        //key()方法返回一个key的迭代器(String类型)
            while (actions.hasNext())
             {
                String param = actions.next().toString();
                Object value = root.get(param);
                infoMap.put(param, value);
             }
     }
catch (JSONException e)
     {
            e.printStackTrace();
     }

执行以上代码就将JSON中的 ”键值“ 输送到HashMap中。

目录
相关文章
|
3天前
|
XML JSON API
转Android上基于JSON的数据交互应用
转Android上基于JSON的数据交互应用
|
5月前
|
XML JSON Java
Android App网络通信中通过okhttp调用HTTP接口讲解及实战(包括GET、表单格式POST、JSON格式POST 附源码)
Android App网络通信中通过okhttp调用HTTP接口讲解及实战(包括GET、表单格式POST、JSON格式POST 附源码)
209 0
|
4月前
|
JSON Java Android开发
Android网络和数据交互: 请解释Android中的JSON解析库,如Gson。
Android网络和数据交互: 请解释Android中的JSON解析库,如Gson。
25 0
|
5月前
|
XML JSON Android开发
[Android]使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换
[Android]使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换
56 0
|
5月前
|
XML JSON Apache
【Android】如何获得Apache服务器的JSON文件数据
【Android】如何获得Apache服务器的JSON文件数据
66 0
|
5月前
|
XML JSON Java
Android Studio App开发之网络通信中移动数据格式JSON的讲解以及实战(附源码 超详细必看)
Android Studio App开发之网络通信中移动数据格式JSON的讲解以及实战(附源码 超详细必看)
60 0
|
11月前
|
存储 XML JSON
Android操作配置文件封装类,使用json序列化的方式实现
Android操作配置文件封装类,使用json序列化的方式实现
|
12月前
|
JSON Android开发 数据格式
Android:解析Json异常 Expected a string but was BEGIN_OBJECT at
今天解析后端数据时,发现了这个报错:Expected BEGIN_OBJECT but was STRING at 看来是自己哪儿解析错误了。 因为数据的特殊性,后端返回的Json串里面可能还会有Json数据,可能嵌套了三次层,
|
JSON Java Android开发
android studio中出现Cannot resolve symbol 'json'问题完整简单解决方案
android studio中出现Cannot resolve symbol 'json'问题完整简单解决方案
454 0
android studio中出现Cannot resolve symbol 'json'问题完整简单解决方案
|
XML 存储 JSON
Android网络与数据存储——网络编程数据处理(网络请求解析Json,解析xml)
Android网络与数据存储——网络编程数据处理(网络请求解析Json,解析xml)
228 0