Android解析json

来源:互联网 发布:可可网络验证源码 编辑:程序博客网 时间:2024/05/13 16:25

实际应用中,针对如下字符串进行解析。

{"res":{"Stream1":{"ip":"172.16.128.67","name":"20140909_ch0_h","app":"teach_app","vol":1,"type":1,"alias":"\u9ed8\u8ba4\u522b\u540d"}, "Stream2":{"ip":"172.16.128.67","name":"20140909_ch1_h","app":"teach_app","vol":0,"type":1,"alias":"\u9ed8\u8ba4\u522b\u540d"}, "Stream3":{"ip":"172.16.128.67","name":"20140909_ch2_h","app":"teach_app","vol":0,"type":1,"alias":"\u9ed8\u8ba4\u522b\u540d"}, "Stream4":{"ip":"172.16.128.67","name":"20140909_ch3_h","app":"teach_app","vol":0,"type":1,"alias":"\u9ed8\u8ba4\u522b\u540d"}},"mov":{"Stream1":{"ip":"172.16.128.67","name":"20140909_ch4_h","app":"teach_app","vol":0,"type":1,"alias":"\u9ed8\u8ba4\u522b\u540d"}}}

解析源码:

package com.charein.util;import org.json.JSONObject;import android.util.Log;public class JsonParser {private String TAG = "JsonParser";private String streamString;private String ip;private String name;private String app;public String getIp() {return ip;}public String getName() {return name;}public String getApp() {return app;}public boolean Parser(String mode, String stream, String jsonString) {if (!parseJson(mode, stream, jsonString))return false;parseJson(stream, "ip", streamString);parseJson(stream, "name", streamString);parseJson(stream, "app", streamString);return true;}private boolean parseJson(String mode, String stream, String jsonString) {JSONObject jsonObject;try {jsonObject = new JSONObject(jsonString).getJSONObject(mode);if (mode.equals("res") || mode.equals("mov")) {String tmpString = jsonObject.getString(stream);createJson(stream, tmpString);return true;}this.ip = jsonObject.getString("ip");this.name = jsonObject.getString("name");this.app = jsonObject.getString("app");} catch (Exception e) {e.printStackTrace();Log.e(TAG, "Exception: " + e);return false;}return true;}private void createJson(String key, String tmpString) {streamString = "{" + key + ":" + tmpString + "}";Log.d(TAG, "jsonString: " + streamString);}}


0 1
原创粉丝点击