生成JSON数据

来源:互联网 发布:e=mc2知乎 编辑:程序博客网 时间:2024/05/16 11:45
package com.example.testcreatejson;import org.json.JSONArray;import org.json.JSONObject;import android.app.Activity;import android.os.Bundle;import android.view.Menu;public class MainActivity extends Activity {// 生成的JSON数据1//  {   //      "phones" : ["028-123456", "15002806555"], //JSON数组   //      "name" : "小强", // 字符串   //      "age" : 17, // 数值   //      "address" : { "country" : "china", "province" : "四川" }, // JSON对象   //      "married" : false // 布尔值   // }   // 生成的JSON数据2////{//"api":"categories",//"count":"3",//"data":[//{//"category_id":"1",//"category_name":"ヘッドライン",//"category_rgb":"FFFFFF",//"category_news_count":"0"//},//{//"category_id":"2",//"category_name":"ランキング",//"category_rgb":"FFFFFF",//"category_news_count":"0"//},//{//"category_id":"3",//"category_name":"社会",//"category_rgb":"FFFFFF",//"category_news_count":"113"//}//]//}    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);          try {        //生成JSON数据1        //首先是最外层        JSONObject resultJsonObject=new JSONObject();        //phones是一个数组,所以创建JSONArray        JSONArray phonesJsonArray=new JSONArray();        //JSONArray保存数据            phonesJsonArray.put("028-123456").put("15002806555");            //最外层保存resultJsonObject.put("phones", phonesJsonArray);//最外层保存resultJsonObject.put("name", "小强");//最外层保存resultJsonObject.put("age", 17);//address是一个对象,所以创建JSONObjectJSONObject addressJSONObject=new JSONObject();addressJSONObject.put("country", "china");addressJSONObject.put("province", "四川");//最外层保存resultJsonObject.put("address", addressJSONObject);//最外层保存resultJsonObject.put("married", false);System.out.println(" resultJsonObject.toString()="+resultJsonObject.toString());System.out.println("--------------------------------------------------");//解析JSON1boolean married=resultJsonObject.getBoolean("married");JSONObject address=resultJsonObject.getJSONObject("address");String country=address.getString("country");String province=address.getString("province");int age=resultJsonObject.getInt("age");String name=resultJsonObject.getString("name");JSONArray phones=resultJsonObject.getJSONArray("phones");String phoneNumber1=phones.getString(0);String phoneNumber2=phones.getString(1);System.out.println("married="+married+",country="+country+",province="+province+",age="+age+",name="+name+",phoneNumber1="+phoneNumber1+",phoneNumber2="+phoneNumber2);System.out.println("--------------------------------------------------");//生成JSON数据2JSONObject jsonObject=new JSONObject();jsonObject.put("api", "categories");jsonObject.put("count", "3");JSONArray dataJsonArray=new JSONArray();JSONObject dataJsonObject1=new JSONObject();dataJsonObject1.put("category_id", "1");dataJsonObject1.put("category_name", "name1");dataJsonObject1.put("category_rgb", "rgb1");dataJsonObject1.put("category_news_count", "1");dataJsonArray.put(dataJsonObject1);JSONObject dataJsonObject2=new JSONObject();dataJsonObject2.put("category_id", "2");dataJsonObject2.put("category_name", "name2");dataJsonObject2.put("category_rgb", "rgb2");dataJsonObject2.put("category_news_count", "2");dataJsonArray.put(dataJsonObject2);JSONObject dataJsonObject3=new JSONObject();dataJsonObject3.put("category_id", "3");dataJsonObject3.put("category_name", "name3");dataJsonObject3.put("category_rgb", "rgb3");dataJsonObject3.put("category_news_count", "3");dataJsonArray.put(dataJsonObject3);jsonObject.put("data", dataJsonArray);System.out.println("jsonObject.toString()="+jsonObject.toString());System.out.println("---------------------------------");//解析JSON2String api=jsonObject.getString("api");String count=jsonObject.getString("count");JSONArray datas=jsonObject.getJSONArray("data");for (int i = 0; i < datas.length(); i++) {JSONObject everyDataJSONObject=datas.getJSONObject(i);String category_id=everyDataJSONObject.getString("category_id");String category_name=everyDataJSONObject.getString("category_name");String category_rgb=everyDataJSONObject.getString("category_rgb");String category_news_count=everyDataJSONObject.getString("category_news_count");System.out.println("category_id="+category_id+",category_name="+category_name+",category_rgb="+category_rgb+",category_news_count="+category_news_count);System.out.println("----------------------------------");}} catch (Exception e) {e.printStackTrace();}    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        getMenuInflater().inflate(R.menu.activity_main, menu);        return true;    }               }