`
shuai1234
  • 浏览: 973510 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

Android Json

阅读更多

protected void sendJson(final String email, final String pwd) {
       
Thread t = new Thread(){
       
public void run() {
               
Looper.prepare(); //For Preparing Message Pool for the child Thread
               
HttpClient client = new DefaultHttpClient();
               
HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000); //Timeout Limit
               
HttpResponse response;
               
JSONObject json = new JSONObject();
               
try{
                   
HttpPost post = new HttpPost(URL);
                    json
.put("email", email);
                    json
.put("password", pwd);
                   
StringEntity se = new StringEntity( "JSON: " + json.toString());  
                    se
.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
                    post
.setEntity(se);
                    response
= client.execute(post);
                   

                   
if(response!=null){
                       
InputStream in = response.getEntity().getContent(); //Get the data in the entity

               
}
               
catch(Exception e){
                    e
.printStackTrace();
                    createDialog
("Error", "Cannot Estabilish Connection");
               
}
               
Looper.loop(); //Loop in the message queue
           
}
       
};
        t
.start();      
   
}

 接收 
 private void startUrlCheck(String username,String password)
{
    HttpClient client = new DefaultHttpClient();
    StringBuilder builder = new StringBuilder();
 
    HttpGet myget = new HttpGet("http://10.0.2.2/Android/index.php");
    try {
        HttpResponse response = client.execute(myget);
        BufferedReader reader = new BufferedReader(new InputStreamReader(
        response.getEntity().getContent()));
        for (String s = reader.readLine(); s != null; s = reader.readLine()) {
            builder.append(s);
        }
        JSONObject jsonObject = new JSONObject(builder.toString());
        String re_username = jsonObject.getString("username");
        String re_password = jsonObject.getString("password");
        int re_user_id = jsonObject.getInt("user_id");
        setTitle("用户id_"+re_user_id);
        Log.v("url response", "true="+re_username);
        Log.v("url response", "true="+re_password);
    } catch (Exception e) {
        Log.v("url response", "false");
        e.printStackTrace();
    }
} 
 
 
 注: 
 

Android JSON相关的类(4)Exceptions(1)

 l  JSONArray
 l  JSONObject
 l  JSONStringer
 l  JSONTokener
 l  JSONException
  
   

JSONObject:

 这是系统中有关JSON定义的基本单元,其包含一对儿(Key/Value)数值。它对外部(External:应用toString()方法输出的数值)调用的响应体现为一个标准的字符串(例如:{"JSON": "Hello, World"},最外被大括号包裹,其中的KeyValue被冒号":"分隔)。其对于内部(Internal)行为的操作格式略微,例如:初始化一个JSONObject实例,引用内部的put()方法添加数值:new JSONObject().put("JSON", "Hello, World!"),在KeyValue之间是以逗号","分隔。
  
 
 
  
 Value的类型包括:BooleanJSONArrayJSONObjectNumberString或者默认值JSONObject.NULL object
  
 有两个不同的取值方法:
 get(): 在确定数值存在的条件下使用,否则当无法检索到相关Key时,将会抛出一个Exception信息。
 opt(): 这个方法相对比较灵活,当无法获取所指定数值时,将会返回一个默认数值,并不会抛出异常。
  
   

JSONArray:

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

JSONStringer:

 根据官方的解释,这个类可以帮助快速和便捷的创建JSON text。其最大的优点在于可以减少由于格式的错误导致程序异常,引用这个类可以自动严格按照JSON语法规则(syntax rules)创建JSON text。每个JSONStringer实体只能对应创建一个JSON text
  
 根据下边的实例来了解其它相关信息:
 string myString = new JSONStringer().object()
 .key("AR").value("www.Androidres.com!")
 .endObject()
 .toString();
 结果是一组标准格式的JSON text{AR:www.Androidres.com!}
  
 其中的.object().endObject()必须同时使用,是为了按照Object标准给数值添加边界。同样,针对数组也有一组标准的方法来生成边界.array().endArray()
   

JSONTokener:

 这个是系统为JSONObjectJSONArray构造器解析JSON source string的类,它可以从source string中提取数值信息。
 
  String json = "{"
         + "  \"query\": \"Pizza\", "
         + "  \"locations\": [ 94043, 90210 ] "
         + "}";
 
 JSONObject object = (JSONObject) new JSONTokener(json).nextValue();
 String query = object.getString("query");
 JSONArray locations = object.getJSONArray("locations"); 
   

JSONException:

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

一个好用的工具JsonViewer

 Json的数据格式可读性较差,但是借助这个工具,可以清晰看出它的数据结构。
 官方地址 http://jsonviewer.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=5432
 软件操作很简单,一张截图,大家就明白了。
分享到:
评论

相关推荐

    Android Json 解析demo

    在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于应用程序与服务器之间的数据传输。这个“Android Json 解析demo”是一个示例项目,它展示了如何在Android Studio环境下处理...

    android json 解析jar

    在Android开发中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式,它易于人阅读和编写,同时也方便机器解析和生成。当应用需要与服务器进行数据交互时,JSON是常见的数据传输格式。Android...

    android json数据下载与解析demo

    在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于服务器与客户端之间的数据传输。这个“android json数据下载与解析demo”是一个实例项目,旨在教授如何在Android应用中从...

    android json与xml解析 例子 demo

    在Android开发中,数据交换和存储常常涉及到JSON和XML这两种数据格式。它们是网络通信中常用的轻量级数据表示方式,使得服务器与客户端之间能够高效地传输数据。本篇文章将详细探讨Android环境下如何进行JSON与XML的...

    android json php mysql

    Android提供了Gson库和org.json库等工具方便地序列化和反序列化JSON对象。 **PHP**:PHP是一种广泛用于Web开发的脚本语言,尤其适合处理服务器端任务,如接收来自Android客户端的HTTP请求,验证数据,然后与数据库...

    android json数据的 封装与解析

    android json数据的 封装与解析,代码清晰,可供参考。

    Android_JSON_RPC_0.zip_JSON_android json_android-CS_json android

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于移动应用开发,特别是Android平台。在Android中,JSON常用来与服务器进行数据交互,实现客户端与服务端之间的RPC(Remote Procedure Call...

    Android json解析jar包

    在Android开发中,JSON是一种广泛使用的轻量级数据交换格式,它允许应用程序之间交换和存储数据。本主题主要关注如何在Android中解析JSON数据,特别是使用Gson库,这是一个非常流行的Java库,由Google开发,专门用于...

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

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

    Android Json数据处理

    在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得人和机器都能容易地读取和编写数据。由于其简洁、高效的特点,JSON被广泛用于移动应用开发,尤其是Android平台,作为服务器...

    android JSON解析数据 android解析天气预报

    笔者近期做到对天气预报JSON数据解析,在此小记。 天气预报接口:http://wthrcdn.etouch.cn/weather_mini?citykey=101200101 JSON数据如下: { desc: OK, status: 1000, data: { wendu: 14, ganmao: 天气...

    android json的demo

    在Android开发中,处理JSON数据是常见的任务,尤其是在与服务器进行数据交互时。本篇将详细介绍如何在Android中使用JSON,特别是通过JSONObject进行解析。 首先,我们需要了解JSON的基本结构。JSON数据可以表示为...

    Android JSON获取 解析显示 附带Springboot -JSON服务器

    在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于与服务器进行数据交互。本教程将深入讲解如何在Android应用中获取、解析并显示JSON数据,同时结合Springboot构建JSON...

    Android JSON网络数据交换_基本应用样例

    总结来说,Android应用通过JSON与服务器进行数据交换时,涉及的主要步骤包括创建JavaBean定义数据结构、在服务器端生成JSON、在Android客户端发起网络请求、解析接收到的JSON数据以及更新UI显示。理解这一流程对于...

    android_json

    在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得人和机器都能容易地读取和编写数据。JSON是独立于语言的,但与JavaScript语法非常相似,这使得它成为Android应用程序中理想...

    android JSon解析例子

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Android应用程序开发中,以便于客户端和服务器之间的数据传输。在Android中,解析JSON数据是开发过程中的常见任务,涉及将接收到的JSON...

    JSON_demo.zip_DEMO_JSON_android_android json

    标题中的"JSON_demo.zip_DEMO_JSON_android_android json"表明这是一个关于Android平台上的JSON操作的演示项目。这个压缩包可能包含了用于展示如何在Android应用中使用JSON的示例代码、测试用例以及相关的资源文件。...

    AndroidJson.zip_JSON_android

    标题“AndroidJson.zip_JSON_android”暗示了这个压缩包可能包含了关于如何在Android中使用JSON的示例代码或教程。描述中的“简单学习”表明内容可能适合初学者,旨在介绍基本的JSON操作。 **一、JSON基本结构** ...

    Android JSON 断点续传

    在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于服务器与客户端之间的数据传输。在本场景中,“Android JSON 断点续传”指的是利用JSON数据来控制Android应用进行文件下载...

    android json解析(包含服务器端,客户端)

    在Android应用开发中,JSON(JavaScript Object Notation)是一种常用的数据交换格式,它简洁、易于读写,并且被广泛应用于服务器与客户端之间的数据传输。本教程将深入讲解Android客户端和服务器端如何进行JSON解析...

Global site tag (gtag.js) - Google Analytics