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

JSON解析-android平台

2013年03月31日 ⁄ 综合 ⁄ 共 1616字 ⁄ 字号 评论关闭

首先添加权限: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

package org.lxh.demo;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		String  data [] = new String [] {"www.mldnjava.cn","lixinghua",
				"bbs.mldn.cn"} ;
		JSONObject allData = new JSONObject() ;//最外面的节点对象
		JSONArray sing = new JSONArray() ; 
		for (int x = 0 ; x < data.length ; x++){
			JSONObject temp = new JSONObject() ; //每一个包装的数据都是JSONObject
			try {
				temp.put("myurl",data[x]);
			} catch (JSONException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			sing.put(temp) ; //保存多个JSONObject			
		}
		try {
			allData.put("urldata", sing) ;
		} catch (JSONException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			}	
		if(!Environment.getExternalStorageState()
				.equals(Environment.MEDIA_MOUNTED)){
			return ; 
		}
		File file = new File(Environment.getExternalStorageDirectory()
				+File.separator+"mldndata"+File.separator
				+"json.txt") ; 
		if(!file.getParentFile().exists()){
			file.getParentFile().mkdirs() ;			
		}
		PrintStream out = null ;
		try {
			out = new PrintStream(new FileOutputStream(file));
			out.print(allData.toString()) ;//将数据变为字符串后保存
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			if(out != null){
				out.close() ;				
			}
		}
	}


}

导出sdcard中json.txt的数据:

{"urldata":[{"myurl":"www.mldnjava.cn"},{"myurl":"lixinghua"},{"myurl":"bbs.mldn.cn"}]}

抱歉!评论已关闭.