现在的位置: 首页 > 综合 > 正文

Android JSON解析

2013年10月01日 ⁄ 综合 ⁄ 共 1614字 ⁄ 字号 评论关闭
http://www.tunshus.com/forum.php
       JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。
同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯 (包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

下面贴出Android的解析代码:
package com.cienet.dataParse.json;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

import org.json.JSONObject;
import org.json.JSONTokener;

import android.content.Context;

/**
 * JSON文件解析类
 * @author shiwenliang
 *
 */
public class JSONParser {

    private Context mContext;
    
    /**
     * 构造函数 
     * @param context
     */
    public JSONParser(Context context)
    {
        mContext = context;
    }
    
    /**
     * json文件解析
     * @param filePath
     * @return
     */
    public String JSONFile_Parser(String filePath)
    {
        String jsonReaderString = "";
        try
        {
            if (filePath.isEmpty())
            {
                return null;
            }
            //读取文件内容
            String fileString="";
            InputStream fileStream = mContext.getResources().getAssets().open(filePath);
            BufferedReader reader = new BufferedReader(  
                    new InputStreamReader(fileStream));  
            String line;  
            while ((line = reader.readLine()) != null) {  
                fileString+=line; 
              }  
            
            //创建解析器
            JSONTokener jsonParser = new JSONTokener(fileString);   
            //读取对象
            JSONObject jsonObject = (JSONObject) jsonParser.nextValue();   
            // 接下来的就是JSON对象的操作了   
            jsonReaderString += jsonObject.getString("name")+"\n";   
            jsonReaderString += jsonObject.getInt("age")+"\n";   
            jsonReaderString += jsonObject.getString("homepage")+"\n"; 
            
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        
        return jsonReaderString ;
    }
}

因为JSON文件的数据格式很简单,解析也相对容易。以上代码是从assets文件夹中读取指定的json文件。
本实例中用的jsons文件格式如下:
{
    "name":"NameXXX",
    "company":"cienet",
    "age":"28",
    "sex":"man",
    "country":"china",
    "homepage":"www.hi.baidu.com/shiwl111/home",
    "email":"shiwl111@163.com"
}

抱歉!评论已关闭.