`
ET焖猪仔
  • 浏览: 236201 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类
最新评论

介绍Android中与JSON相关的应用

阅读更多
转载:http://www.j2bb.com/trac/discussion/27/1140
JOSN的定义:

    一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。 – Json.org


JOSN的结构:

    * Name/Value Pairs,类似所熟知的Keyed list、 Hash table、Disctionary和Associative array。在Android平台中同时存在另外一个类 “Bundle“,某种程度上具有相似的行为。org.json.JSONObject
    * Array,一组有序的数据列表。org.json.JSONArray

在Android中包含四个与JSON相关的类和一个Exceptions:

    * JSONArray
    * JSONObject
    * JSONStringer
    * JSONTokener
    * JSONException

JSONObject:

这是系统中有关JSON定义的基本单元,其包含一对儿(Key/Value)数值。它对外部(External:应用toString()方法输出的数值)调用的响应体现为一个标准的字符串(例如:{"JSON": "Hello, World"},最外被大括号包裹,其中的Key和Value被冒号":"分隔)。其对于内部(Internal)行为的操作格式略微,例如:初始化一个 JSONObject实例,引用内部的put()方法添加数值:new JSONObject().put("JSON", "Hello, World!"),在Key和Value之间是以逗号","分隔。

Value的类型包括:Boolean、JSONArray、JSONObject、Number、String或者默认值JSONObject.NULL object。

有两个不同的取值方法:

    * get(): 在确定数值存在的条件下使用,否则当无法检索到相关Key时,将会抛出一个Exception信息。
    * opt(): 这个方法相对比较灵活,当无法获取所指定数值时,将会返回一个默认数值,并不会抛出异常。

JSONArray:

它代表一组有序的数值。将其转换为String输出(toString)所表现的形式是用方 括号包裹,数值以逗号”,”分隔(例如:[value1,value2,value3],大家可以亲自利用简短的代码更加直观的了解其格式)。这个类的内 部同样具有查询行为,get()和opt()两种方法都可以通过index索引返回指定的数值,put()方法用来添加或者替换数值。

同样这个类的value类型可以包括:Boolean、JSONArray、JSONObject、Number、String或者默认值JSONObject.NULL object。

JSONStringer:

根据官方的解释,这个类可以帮助快速和便捷的创建JSON text。其最大的优点在于可以减少由于格式的错误导致程序异常,引用这个类可以自动严格按照JSON语法规则(syntax rules)创建JSON text。每个JSONStringer实体只能对应创建一个JSON text。

根据下边的实例来了解其它相关信息:
1	string myString =newJSONStringer().object()
2	                                    .key("AR").value("www.Androidres.com!")
3	                                    .endObject()
4	                                    .toString();


结果是一组标准格式的JSON text:{“AR”:”www.Androidres.com!”}

其中的.object()和.endObject()必须同时使用,是为了按照Object标准给数值添加边界。同样,针对数组也有一组标准的方法来生成边界.array()和.endArray()。

JSONTokener:

这个是系统为JSONObject和JSONArray构造器解析JSON source string的类,它可以从source string中提取数值信息。

JSONException:

是JSON.org类抛出的异常信息。

下面引用一个完整的应用实例 (来自:androidsnippets.org)
01	publicstaticJSONObject getJSON(Map map) {
02	    Iterator iter = map.entrySet().iterator();
03	    JSONObject holder =newJSONObject(); 
04	 
05	    while(iter.hasNext()) {
06	        Map.Entry pairs = (Map.Entry) iter.next();
07	        String key = (String) pairs.getKey();
08	        Map m = (Map) pairs.getValue();
09	        JSONObject data =newJSONObject(); 
10	 
11	        try{
12	            Iterator iter2 = m.entrySet().iterator();
13	            while(iter2.hasNext()) {
14	                Map.Entry pairs2 = (Map.Entry) iter2.next();
15	                data.put((String) pairs2.getKey(), (String) pairs2.getValue());
16	            }
17	            holder.put(key, data);
18	        }catch(JSONException e) {
19	            Log.e("Transforming","There was an error packaging JSON",e);
20	        }
21	    } 
22	 
23	    returnholder;
24	} 
分享到:
评论

相关推荐

    【Android】JSON应用

    这个“【Android】JSON应用”主题主要涵盖如何在Android应用程序中使用JSON进行数据的序列化和反序列化。 一、JSON基本结构 JSON主要由两种数据结构组成: 1. 对象(Object):以大括号 `{}` 包裹,内部由一系列...

    Android读取本地json文件的方法(解决显示乱码问题)

    在Android应用开发中,有时我们需要从本地存储的JSON文件中读取数据,这通常涉及到文件I/O操作和字符编码处理。以下将详细讲解如何在Android中读取本地JSON文件,并解决可能出现的显示乱码问题。 1. **读取本地JSON...

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

    在现代的移动应用开发中,JavaScript与原生平台之间的交互变得越来越常见,特别是在使用Android的WebView组件时。本文将深入探讨如何使用JavaScript调用Android的方法,并传递JSON数据,以实现两者之间的高效通信。 ...

    Android中通过json向MySql中读写数据的方法

    Android 中通过 JSON 向 MySQL 中读写数据的方法可以实现 Android 应用程序与 MySQL 数据库之间的数据交互,实现数据的上传和读取。 相关知识点: * JSON(JavaScript Object Notation):一种轻量级的数据交换...

    android-json-rpc

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

    Android HttpClient与Json解析

    在Android开发中,HttpClient是一个重要的库,用于执行HTTP请求,获取网络上的...这些技能对于任何需要与服务器交互的Android应用都是必不可少的。学习和理解这些知识点,开发者可以更高效地构建功能丰富的移动应用。

    org.json Android

    在Android开发中,数据交换是不可或缺的一环,而JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,因其简洁、易读、易解析的特性,被广泛应用于客户端与服务器之间的数据传输。"org.json" 是一个...

    android之JSON数据的构建

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

    Android中Json数据解析

    总之,在Android中解析JSON数据是应用程序与服务器交互的重要一环。熟练掌握Gson库和org.json库的使用,能够帮助开发者更高效地处理网络数据,提升应用性能。通过不断实践,你可以更加灵活地运用这些工具,解决各种...

    android demo,json数据格式的案例的应用

    本示例是关于如何在Android应用中解析和使用JSON数据的一个实战演示。让我们深入探讨一下这个"android demo,json数据格式的案例的应用"。 首先,JSON是一种轻量级、易于人读写且易于机器解析的格式,它基于...

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

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

    Android中的JSON详细总结

    在Android开发中,与JSON相关的类主要包括: 1. **`JSONObject`**:表示一个JSON对象,即一系列无序的键值对。支持`put()`和`get()`等方法来设置和获取键值对。 - **初始化示例**:`new JSONObject().put("name", ...

    Android Studio解析JSON对象

    在Android开发中,Android Studio是首选的集成开发环境(IDE),它提供了丰富的工具和技术支持,使得开发者能够高效地构建移动应用。本主题聚焦于“Android Studio解析JSON对象”,这是一个非常关键且实用的技能,...

    Android studio JSONViewer插件

    在Android应用开发中,我们经常需要处理来自网络API的数据,这些数据通常是JSON格式。JSONViewer插件提供了直观且用户友好的界面,帮助开发者快速解析、浏览和编辑JSON对象。 该插件的主要功能包括: 1. **实时...

    Android中Json应用实例介绍

    由于其简洁和高效,JSON已经成为网络上最常用的数据交换格式之一,尤其在移动应用开发中,如Android。这篇博客将深入探讨在Android中如何使用JSON进行数据解析和序列化。 首先,我们要了解JSON的基本结构。JSON对象...

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

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

    android demo,json数据的处理,json字符串的发送和解析。

    在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于应用程序与服务器之间的数据传输。这个“android demo”显然是一个展示如何在Android平台上处理JSON数据、发送JSON字符串...

    JsonFormat java android

    在Java和Android开发中,处理JSON数据是常见的任务,这涉及到JSON的序列化与反序列化,以及格式化显示。"JsonFormat"在这里指的是一款本地工具,用于帮助开发者更方便地对JSON数据进行格式化,使其更易读。 在...

    Android_JSON数据解析

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

    Android list转json工具类

    当需要将Android应用中的数据列表发送到服务器或者从服务器获取数据时,通常需要将List对象转换为JSON字符串。本篇文章将深入探讨如何在Android中实现一个将集合List转化为JSON字符串的工具类,以及在联网调接口时...

Global site tag (gtag.js) - Google Analytics