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"
}