`
朱润泽
  • 浏览: 47432 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类
最新评论

android中的json包

 
阅读更多

<!-- @page { margin: 2cm } PRE.cjk { font-family: "Droid Sans Fallback", monospace } PRE.ctl { font-family: "Lohit Hindi", monospace } P { margin-bottom: 0.21cm } CODE.cjk { font-family: "Droid Sans Fallback", monospace } CODE.ctl { font-family: "Lohit Hindi", monospace } A:link { so-language: zxx } -->

org.json 包中含有类JSONArray/JSONObject/JSONStringer/JSONTokener/JSONException 五个类

 

  1. .JSONArray 一个值序列的集合

  2. JSONObject 一个可变值的键值对

  3. JSONStringer 重写里toString 方法

  4. JSONTokener 解析json 编码的字符串为对应的对象

  5. JSONException JSON 中的异常

 

JSONTokener 中常用的方法是:构造函数和nextValue()

 

ex:

 

String json = "{"


         + "  \"query\": \"Pizza\", "


         + "  \"locations\": [ 94043, 90210 ] "


         + "}";



 JSONObject object = (JSONObject) new JSONTokener(json).nextValue();


 String query = object.getString("query");


 JSONArray locations = object.getJSONArray("locations");




 public JSONTokener (S
tring

 in)


       构造函数,参数in
json

格式的字符才,如果参数为空则会抛出NullPointerExceptions


异常

public Object
 nextValue ()



       
获得构造函数中参数的下一个字符,该方法根据这个字符决定返回一个对象和是一个数组等等,源码如下:

public Object nextValue() throws JSONException {

int c = nextCleanInternal();

switch (c) {

case -1:

throw syntaxError( "End of input" );

 

case '{' :

return readObject();

 

case '[' :

return readArray();

 

case '\'' :

case '"' :

return nextString(( char ) c);

 

default :

pos --;

return readLiteral();

}

}

 

 

 

 

 

JSONObject

一个可变的键值对集合,键是唯一的/ 不能为空的字符串。值可以是多种类型,如:JSONObject/ JSONArray / String /Booleans / Integers /Longs / Doubles 或者 NULL 。值不能是除此之外的其他类型。

当被请求的时该类可以将类型转换成其他的类型。

1. 当被请求的类型是boolean ,字符串可以强制转换成“true” 或者”false”

String s = "false" ;

Boolean B = new Boolean(s);

查看 Boolean 类的源代码可以知道原理。 s 为“ true”( 不区分大小写 ) B true 否则都为 false,

 

2. 当请求的类型为 double 可以用 doubleValues(), 字符串用 valueOf(String) 转换。

int long 都是类似的方法

 

3. 当请求的类型所 String, 非空值可以通过 valueOf(Object)

String.valueOf(Object)

 

 

注意:这个类有两种表达 null 的方式,一个是 java 标准的 null, 另一个是这个类中的常量值 NULL 。特别的,

调用 put(name,null) 来删除 name 对应的值,但是调用 put(name,JSONObject.NULL) 来保存一个键值对的值为 JSONObject.NULL

 

JSONObject accumulate (String name, Object value)

在已经存在的 name 键中追加 value 值。

 

getType(name) 如果没有对应的 value ,或者 value 值不能强制转换 成请求的类型,则会抛出 JSONException 异常。

 

optType(name) 如果没有对应的 value, 或者 value 不能强制转换成请求的类型,则返回系统的或者用户支持默认的数据类型。

 

JSONArray

 

实现原理是通过一个 List<Objcet> 保存 values。

 

 

其他解释的链接:http://3688429.blog.51cto.com/3678429/682956

分享到:
评论

相关推荐

    android-json-rpc

    "android-json-rpc"正是这样一款专为Android平台设计的JSON-RPC库,它简化了开发者在Android应用程序中执行JSON-RPC服务调用的过程。 该库的核心特性包括: 1. **简单易用的API**:android-json-rpc提供了一个直观...

    android_json所需jar包

    在早期的Android版本中,开发者通常需要手动导入这个jar包,而现在的新版本Android Studio中,org.json库已被集成到Android SDK中,可以直接使用无需额外引入。 在Android开发中,我们经常会遇到以下几种使用JSON的...

    android-json-0.0.20131108.vaadin1-API文档-中文版.zip

    赠送jar包:android-json-0.0.20131108.vaadin1.jar; 赠送原API文档:android-json-0.0.20131108.vaadin1-javadoc.jar; 赠送源代码:android-json-0.0.20131108.vaadin1-sources.jar; 赠送Maven依赖信息文件:...

    AE插件生成JSON文件,Android读取JSON播放动画

    在Android开发中,为了提升应用中的动画效果和性能,开发者经常使用Adobe After Effects(简称AE)来设计复杂的视觉效果,并将其导出为JSON文件。这种做法可以借助Lottie-Android库,让Android应用能够轻松地读取并...

    android之JSON数据的构建

    在Android开发中,JSON(JavaScript Object Notation)是一种常用的数据交换格式,因其轻量级、易读易写的特点,被广泛应用于服务器与客户端之间的数据通信。本教程将深入讲解如何在Android环境中构建JSON数据。 ...

    Android处理JSON数据-JSON打包.pdf

    Android提供了多种工具来解析和构造JSON数据,这些工具主要位于`org.json`包下。 首先,我们来看`JSONObject`,它是JSON对象的基础。一个`JSONObject`可以被视为键值对的集合,每个键都是一个字符串,每个值可以是...

    Android中Json数据解析

    在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得人和机器都能容易地读取和编写数据。由于其简洁和高效,JSON已经成为网络上最常用的数据交换格式之一,尤其在移动应用开发...

    android-json-0.0.20131108.vaadin1-API文档-中英对照版.zip

    赠送jar包:android-json-0.0.20131108.vaadin1.jar; 赠送原API文档:android-json-0.0.20131108.vaadin1-javadoc.jar; 赠送源代码:android-json-0.0.20131108.vaadin1-sources.jar; 赠送Maven依赖信息文件:...

    Android json解析jar包

    标题“Android json解析jar包”指的是在Android应用中使用特定的jar包来处理JSON数据。在Java和Android开发中,解析JSON数据通常需要引入外部库,比如Gson,因为Android SDK本身并没有内置高级的JSON解析功能。 ...

    Android_JSON数据解析

    在Android开发中,JSON(JavaScript Object Notation)是一种常用的数据交换格式,因其简洁、易读、易编写的特点,被广泛应用于服务器与客户端之间的数据传输。本篇将详细讲解如何在Android应用中解析JSON数据,主要...

    JS调用Android方法,向Android方法传递json数据

    然后,这个字符串将在`handleJsonData`方法中被解析为JSON,以便在Android端进行处理。 需要注意的是,虽然这种方法方便快捷,但JSON数据的安全性和有效性需要开发者自行验证。此外,由于JavaScript和Android是两个...

    Android中JSON详细总结(全)

    在Android开发中,JSON扮演着重要角色,允许不同平台之间进行数据传输。JSON的结构主要由两种基本元素构成:Name/Value对(无序的)和Array(有序的)。 Name/Value对类似于哈希表或关联数组,由键值对组成,没有...

    老罗android 解析json数据源码

    在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得人和机器都能容易地读取和编写数据。本教程聚焦于老罗讲解的Android解析JSON数据的源码分析,这对于深入理解JSON处理以及...

    Android读取JSON实例

    在Android开发中,JSON(JavaScript Object Notation)是一种常见的数据交换格式,用于在客户端与服务器之间传输数据。本文将深入探讨如何在Android应用中读取并解析JSON数据,并将其显示在TextView上。我们将使用...

    JsonFormat java android

    Java和Android平台都提供了内置的JSON处理库,如Java的`org.json`包和Android的`org.json`或Gson库。这些库允许开发者将Java对象转换为JSON字符串,反之亦然。然而,它们并不提供直观的格式化功能,这就是"Json...

    【Android】JSON应用

    1. 从字符串解析:Android提供了`org.json`包,可以使用`JSONObject`的`JSONObject(String json)`构造方法将JSON格式的字符串转换为`JSONObject`,同理,可以使用`JSONArray(String json)`来解析JSON数组。...

    Android Studio解析JSON对象

    在Android Studio中解析JSON,通常使用的是`org.json`库,它包含两个主要类:`JSONObject`和`JSONArray`。`JSONObject`用于处理键值对,而`JSONArray`则处理有序的元素列表。 解析JSON对象的步骤如下: 1. **导...

    Android的JSON示例(ASP+Access2003+IIS)

    Android的JSON示例 一、运行环境: 1.服务器端为ASP+Access2003+IIS 2.移动端为Android2.1(大家可根据需要自行调整API Level) 二、主要功能: 1.移动端通过Button将EditText内容提交Request给服务器端 (示例为记录...

    Android-AndroidJSON格式化显示可配置样式展开与折叠

    在Android应用开发中,处理JSON数据是常见的任务。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁和易于人阅读及编写的特点,被广泛用于服务器向客户端传输数据。本文将深入探讨如何在...

    Android 安卓 json解析

    总结,Android中的JSON解析包括本地和在线两种方式,都可以使用Android SDK内置的`org.json`包。在实际开发中,根据项目需求,可以选择最合适的解析策略,并确保正确处理各种异常情况,提升用户体验。

Global site tag (gtag.js) - Google Analytics