记录一下在Android使用Json解析字符串

来源:互联网 发布:大型企业网络设计方案 编辑:程序博客网 时间:2024/05/18 11:15

要解析的字符串如下,是一串camera的参数:

{    "formats": [        {            "index": 1,            "type": 4,            "default": 1,            "size": [                "640*480",                "352*288",                "320*240",                "176*144",                "160*120"            ]        }    ]}

解析比较简单,直接贴代码:

ArrayList<PreviewSize> mPreviewSizes = new ArrayList<FormatParser.PreviewSize>();private int index;private int type;private int def;public FormatParser(){}public void parseJsonFormat(String string){try{JSONObject mJsonObject = new JSONObject(string);Log.d(TAG, "JsonString:" + string);JSONArray mArray = mJsonObject.getJSONArray("formats");//获取formats数组//formats中只有一个对象,直接从其中获取一些参数index = mArray.getJSONObject(0).getInt("index");type = mArray.getJSONObject(0).getInt("type");def = mArray.getJSONObject(0).getInt("default");//从formats中获取size数组JSONArray mSizeArray = mArray.getJSONObject(0).getJSONArray("size");mPreviewSizes.clear();//遍历size数组,取出分辨率字符串,拆分成长和宽for (int i = 0; i < mSizeArray.length(); i++){PreviewSize mSize = new PreviewSize();String strSize = mSizeArray.getString(i);String[] strs = strSize.split("*");mSize.width = Integer.parseInt(strs[0]);mSize.height = Integer.parseInt(strs[1]);Log.d(TAG, "width:" + mSize.width + "  height:" + mSize.height);}} catch (JSONException e){// TODO Auto-generated catch blocke.printStackTrace();}}public class PreviewSize{public int width;public int height;}




0 0
原创粉丝点击