您的位置:首页 > 移动开发 > Android开发

android Json解析——揭开json解析的神秘面纱

2016-05-03 19:01 781 查看
json解析有很多方法,作为android自备利器,这里主要讲讲android的自带解析功能

1. JSONObject转化成对象:

public static MemberStrategy getMemberStrategy(JSONObject jsonObject) {

MemberStrategy memberStrategy = new MemberStrategy();

memberStrategy.setContent(jsonObject.optString("content"));

memberStrategy.setActivityId(jsonObject.optString("activityId"));

memberStrategy.setType(jsonObject.optString("type"));

memberStrategy.setUsable(jsonObject.optBoolean("usable"));

memberStrategy.setRuleId(jsonObject.optString("ruleId"));

return memberStrategy;

}

2. JSONArray 转化成list

public static List<MemberStrategy> getMemberStrategyList(JSONArray jsonArray){

List<MemberStrategy>list=new ArrayList<MemberStrategy>();

if(jsonArray!=null&&jsonArray.length()>0){

for(int i=0;i<jsonArray.length();i++){

JSONObject jsonObject = (JSONObject)jsonArray.opt(i);

MemberStrategy memberStrategy=getMemberStrategy(jsonObject);

list.add(memberStrategy);

}

}

return list;

}

3. json 串转化成list

public static List<Member>getMemberList(String jsonString){

List<Member>list=new ArrayList<Member>();

if(TextUtils.isEmpty(jsonString)){

return list;

}

try {

JSONArray jsonArray = new JSONArray(jsonString);

for(int i=0;i<jsonArray.length();i++){

JSONObject jsonObject = (JSONObject)jsonArray.opt(i);

Member member=new Member();

member.setToName(jsonObject.optString("toName"));

List<MemberStrategy>jObjList=getMemberStrategyList(jsonObject.getJSONArray("strategy"));

member.setStrategy(jObjList);

member.setTold(jsonObject.optString("told"));

member.setToName(jsonObject.optString("toName"));

list.add(member);

}

} catch (JSONException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return list;

}

4. JSONObject 要转化成 json 串的话,直接

String jsonStr=jSONObject .toString();

5.对象转JSONObject

JSONObject jobj=new JSONObject ();

jobj.put("name",person.getName());

jobj.put("age",person.getAge());

6.map转json串

/**map 转 jsonString **/

public static String MapToJsonString(Map<String, String> map) {

if (map == null || map.isEmpty()) {

return null;

}

JSONObject jobject = new JSONObject();

Set<?> keySet = map.keySet();

for (Object key : keySet) {

try {

jobject.put(key.toString(),map.get(key));

} catch (JSONException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

return jobject.toString();

}

此处只是初步讲解 android json 解析,只做笔记。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: