package org.lxh.demo;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.PrintStream;import java.util.Date;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 {private String nameData [] = new String []{"李興華","魔樂科技","MLDN"} ;private int ageData [] = new int [] {30 , 5 ,7} ;private boolean isMarriedData [] = new boolean [] {false ,true,false } ;private double salaryData [] = new double [] {3000,5000,9000} ;private Date birthdayData [] = new Date [] {new Date(),new Date (),new Date()} ;private String companyName ="北京魔樂科技軟體學院";private String companyAddr = "美江大廈六層" ;private String companyTel = "1234567" ;@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 < this.nameData.length ; x++){JSONObject temp = new JSONObject() ; //每一個封裝的資料都是JSONObjecttry {temp.put("name",this.nameData[x]);temp.put("age",this.ageData[x]) ; temp.put("married",this.isMarriedData[x] ) ;temp.put("birthday",this.birthdayData[x] ) ;} catch (JSONException e) {// TODO Auto-generated catch blocke.printStackTrace();}sing.put(temp) ; //儲存多個JSONObject}try {allData.put("persondata", sing) ;allData.put("company", this.companyName) ;allData.put("address",this.companyAddr);allData.put("Tel",this.companyTel) ;} 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() ;}}}}
得到的json.txt中的資料為:
{"address":"美江大廈六層","Tel":"1234567","persondata":[{"birthday":"Sun Apr 21 12:10:32 GMT+00:00 2013","married":false,"age":30,"name":"李興華"},{"birthday":"Sun Apr 21 12:10:32 GMT+00:00 2013","married":true,"age":5,"name":"魔樂科技"},{"birthday":"Sun Apr 21 12:10:32
GMT+00:00 2013","married":false,"age":7,"name":"MLDN"}],"company":"北京魔樂科技軟體學院"}