Android 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中。

时间: 2024-10-04 01:07:11

Android json基础的相关文章

Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例

Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例 继上篇json解析,我用了原生的json解析,但是在有些情况下我们不得不承认,一些优秀的json解析框架确实十分的好用,今天我们为了博客的保质保量,也就不分开写,我们直接拿比较火的Gson和Fast-json来使用,末尾在进行一些分析 Android JSON原生解析的几种思路,以号码归属地,笑话大全,天气预报为例演示 一.各有千秋 两大解析库的东家都是巨头,一个来自于Google官方,一个来自阿里巴巴,我们这

android+json+php+mysql实现用户反馈功能

相信每个项目都会有用户反馈建议等功能,这个实现的方法很多,下面是我实现的方法,供大家交流.首 先看具体界面,三个字段.名字,邮箱为选填,可以为空,建议不能为空.如有需要可以给我留言. 下面贴出布局代码,这里用到一个<include layout="@layout/uphead">就是把另外一个 布局文件引入到这个布局中. <?xml version="1.0" encoding="utf-8"?> <LinearLa

Android零基础入门第58节:数值选择器NumberPicker

原文:Android零基础入门第58节:数值选择器NumberPicker    上一期学习了日期选择器DatePicker和时间选择器TimePicker,是不是感觉非常简单,本期继续来学习数值选择器NumberPicker .     一.NumberPicker概述       NumberPicker 是用于选择一组预定义好数字的组件,用户既可以通过键盘输入数值,也可以通过滚动来选择数值.     NumberPicker的常用方法如下: setMinValue(int minVal):

Android零基础入门第3节:带你一起来聊一聊Android开发环境

原文:Android零基础入门第3节:带你一起来聊一聊Android开发环境 工欲善其事,必先利其器.Android开发人员在自己的计算机上编写和测试应用程序,然后将其部署到实际的设备上,那首先必不可少的就是开发环境的搭建. 前两期分别总结了Android的前世今生和Android的系统架构和应用组件,那么从本期开始分多次总结分享Android的开发环境搭建,为后续Android开发的学习做好准备工作.   Android的常用开发环境如下图所示:   01.电脑硬件准备 首先来看一下官方推荐的

Android零基础入门第1节:Android的前世今生

原文:Android零基础入门第1节:Android的前世今生 现在网上有很多各色Android资料了,但相对来说还是比较零散,Android覆盖的范围极广,最近刚好有机会全部拉通整理一遍,也保存起来方便后期学习. 这一系列资料从最初的Android认识到Android高级开发,会免费共享出来分享给大家,包括中间会涉及到的一些源码.今天这是开篇,赶紧上车一起来聊一聊Android的前世今生.   一.IT行业发展几个阶段   IT行业是个年轻的行业,共总也才60多年时间,大致分为硬件.软件.互联

Android BLE与终端通信(一)——Android Bluetooth基础API以及简单使用获取本地蓝牙名称地址

Android BLE与终端通信(一)--Android Bluetooth基础API以及简单使用获取本地蓝牙名称地址 Hello,工作需要,也必须开始向BLE方向学习了,公司的核心技术就是BLE终端通信技术,无奈一直心不在此,但是真当自己要使用的时候还是比较迷茫,所以最近也有意向来学习这一块,同时,把自己的学习经历分享出来 一.摘要 Android智能硬件前几年野一直不温不火的,到了现在却热火朝天了,各种智能手环,智能手表,智能家居等,而使用BLE这个方向也越来越多,而这方面的资料却是真的很少

Android零基础入门第18节:EditText的属性和使用方法

原文:Android零基础入门第18节:EditText的属性和使用方法 EditText与TextView非常相似,它甚至与TextView 共用了绝大部分XML属性和方法.EditText与TextView的最大区别在于:EditText可以接受用户输入. 一.EditText简介 EditText支持的XML属性及相关方法见TextView表中介绍的与输入有关的属性和方法,其中比较重要的一个属性是inputType,用于为EditText设置输入类型,其属性值主要有以下一些. androi

Android零基础入门第12节:熟悉Android Studio界面,开始装逼卖萌

原文:Android零基础入门第12节:熟悉Android Studio界面,开始装逼卖萌 通过前两期的学习,我们可以正确搭建好Android Studio的开发环境,也创建了HelloWorld工程并成功运行,那么本期就带你一起来了解这款强大的IDE开发工具吧.     一.Android Studio主页面板   重新打开Android Studio会进入如下主页面,与第一次打开有略微差别. 从上图可以看到,一共有四大区域,接下来分别简单介绍: 区域1为最近新建或打开的Android Stu

《Android Studio应用开发实战详解》——第1章,第1.2节Android系统基础

1.2 Android系统基础 Android一词最早出现于法国作家Auguste Villiers de l'Isle-Adam在1886年发表的科幻小说<未来夏娃>中,他将外表像人的机器起名为Android.本书的主角就是Android系统,在本节将简要介绍Android系统的诞生和发展历程. 1.2.1 Android系统的发展现状 从2008年HTC和Google联手推出第一台Android手机G1开始,在2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一