contact-list类库依赖包之json

19 Sep 2009

json类库为java提供了方便地在json和string之间的转换和对json数据的操作。

对于contact-list类库来说,有些联系人信息是通过json来传输的,所以利用json类库来处理数据。

1. 从String转换为JSON对象

protected JSONObject parseJSON(String content, String startTag) throws JSONException {
    String json = content.substring(content.indexOf(startTag) + startTag.length());
    JSONTokener jsonTokener = new JSONTokener(json);
    Object o = jsonTokener.nextValue();
    return (JSONObject) o;
}

protected JSONObject parseJSON(String content, String startTag, String endTag) throws JSONException {
    String sub_content = content.substring(content.indexOf(startTag) + startTag.length());
    String json = sub_content.substring(0, sub_content.indexOf(endTag));
    JSONTokener jsonTokener = new JSONTokener(json);
    Object o = jsonTokener.nextValue();
    return (JSONObject) o;
}

传入一个String,同时传入其中json的start tag和end tag,来划定这个json string。

2. 读取json数据中的值

JSONArray jsonContacts = jsonObj.getJSONArray("Contacts");
for (int i = 0; i  jsonContacts.length(); i++) {
    JSONObject jsonContact = (JSONObject) jsonContacts.get(i);
    String username = jsonContact.getString("c");
    String eamil = jsonContact.getString("y");
    contacts.add(new Contact(username, email));
}

getJSONArray获取一个json array

getJSONObect获取一个json object

jsonObject.getString(key)获取json object的string值

Tags 


blog comments powered by Disqus