首先添加許可權: <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 {@Overrideprotected 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() ; //每一個封裝的資料都是JSONObjecttry {temp.put("myurl",data[x]);} catch (JSONException e) {// TODO Auto-generated catch blocke.printStackTrace();}sing.put(temp) ; //儲存多個JSONObject}try {allData.put("urldata", sing) ;} catch (JSONException e) {// TODO Auto-generated catch blocke.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 blocke.printStackTrace();}finally{if(out != null){out.close() ;}}}}
匯出sdcard中json.txt的資料:
{"urldata":[{"myurl":"www.mldnjava.cn"},{"myurl":"lixinghua"},{"myurl":"bbs.mldn.cn"}]}