码迷,mamicode.com
首页 > 移动开发 > 详细

《安卓网络编程》之第八篇 安卓与服务器之间通讯JSON

时间:2015-05-08 12:48:51      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

JSON是什么?

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

 

为什么使用JSON?

先看一个简单的例子,假设客服端需要向服务器端请求数据:

数据如果是一个单纯的对象,比如自定义的类User的一个实例

package com.example.hixin;


public class User{
    private String shenfennum;
    private String name;
    private String regtime;
    private String address;
    private String birthdate;
    
    public User(){
        
    }
    
    
    public String getShenfennum() {
        return shenfennum;
    }

    public void setShenfennum(String shenfennum) {
        this.shenfennum = shenfennum;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getRegtime() {
        return regtime;
    }

    public void setRegtime(String regtime) {
        this.regtime = regtime;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getBirthdate() {
        return birthdate;
    }

    public void setBirthdate(String birthdate) {
        this.birthdate = birthdate;
    }


    @Override
    public String toString() {
        // TODO Auto-generated method stub
        return "User [shenfennum=" + shenfennum + ", name=" + name + ", regtime=" + regtime + ", address=" + address + ", birthdate=" + birthdate + "]";
    }
    
    
}

可以在发送的时候使用ObjectOutputStream,接受时使用ObjectInputStream。但这种直接发送对象

的方式,虽然方便,但在使用的时候容易出现问题,对于ArrayList<User>这种复合对象基本上就不能考虑啦!

 

再来看一个更复杂的情形:

有这么一个需求,设备在验证登录成功之后,要从服务拉取所有使用此设备的用户,这个过程中,服务器要发送两种类型的数据。

1、登录成功的响应:可以是一个整形数字,也可以是一个字符串“success”

2、使用该设备的所有用户:ArrayList<User>

客户端接受服务器返回的数据,接受到的本质上是一个流(inputStream),如何从一个流中解析出这两种数据。显然直接发送对象的方式不可能解决!

这个时候就可以考虑JSON

 

技术分享

《安卓网络编程》之第八篇 安卓与服务器之间通讯JSON

标签:

原文地址:http://www.cnblogs.com/hixin/p/4487186.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!