Android json数据的解析

来源:互联网 发布:linux如何进行源码安装 编辑:程序博客网 时间:2024/04/30 00:56

json格式,JavaScript  Object Notation的缩写。 和xml一样,是一种描述性语言。

基本根式如下:

名称:数值

{"languages":[   {"id":1,"ide":"eclipse","name":"java"},   {"id":2,"ide":"xcode","name":"swift"},   {"id":3,"ide":"visual studio","name":"c#"}],"cat":"it"}



Android对于json格式数据的解析:


public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 解析 json 格式数据try {InputStream is = getResources().getAssets().open("test.json");InputStreamReader isr = new InputStreamReader(is, "utf-8");BufferedReader br = new BufferedReader(isr);String string;StringBuilder builder = new StringBuilder();while ((string = br.readLine()) != null) {builder.append(string);}br.close();isr.close();JSONObject root = new JSONObject(builder.toString());System.out.println(root.getString("cat"));JSONArray array = root.getJSONArray("languages");for (int i = 0; i < array.length(); i++) {JSONObject lan = array.getJSONObject(i);System.out.println("...........");System.out.println(lan.getInt("id"));System.out.println(lan.getString("ide"));System.out.println(lan.getString("name"));}} catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (JSONException e) {// TODO Auto-generated catch blocke.printStackTrace();}// 生成json数据try {JSONObject root2 = new JSONObject();root2.put("cat", "it");JSONObject lan1 = new JSONObject();lan1.put("id", 1);lan1.put("ide", "eclipse");lan1.put("name", "java");JSONObject lan2 = new JSONObject();lan2.put("id", 2);lan2.put("ide", "xcode");lan2.put("name", "swift");JSONObject lan3 = new JSONObject();lan3.put("id", 3);lan3.put("ide", "visual studio");lan3.put("name", "c#");JSONArray array = new JSONArray();array.put(lan1);array.put(lan2);array.put(lan3);root2.put("languages", array);System.out.println(root2);} catch (JSONException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}



0 0
原创粉丝点击