黑莓json解析器

时间:2013-05-10 03:44:08

标签: json blackberry blackberry-simulator blackberry-jde

我想为BlackBerry创建一个简单的json解析器进行测试。我找到了this示例,并按如下方式实现了我的代码

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.util.Vector;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import org.json.me.JSONArray;
import org.json.me.JSONObject;
import net.rim.device.api.ui.component.Dialog;
import net.rim.device.api.ui.container.MainScreen;


public final class MyScreen extends MainScreen
{
HttpConnection conn = null;
InputStream in = null;
String _response = null;
Vector _adBeanVector=null;
int code;
public MyScreen()
{             
    setTitle("MyTitle");
    try 
    {
    StringBuffer url=new StringBuffer().append("http://codeincloud.tk/json_android_example.php");
    conn = (HttpConnection) Connector.open(url.toString(), Connector.READ);
    conn.setRequestMethod(HttpConnection.GET);

    code = conn.getResponseCode();
    if (code == HttpConnection.HTTP_OK) {
    in = conn.openInputStream();
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    byte[] buffer = new byte[in.available()];
    int len = 0;
    while (-1 != (len = in.read(buffer))) {
    out.write(buffer); 
    }
    out.flush();
    _response = new String(out.toByteArray());
    JSONObject resObject=new JSONObject(_response);
    String _key =resObject.getString("Insert Json Key");

    _adBeanVector = new Vector();
    JSONArray newsArray = resObject.getJSONArray("Insert Json Array Key");
    if(newsArray.length() > 0)
    {
    for (int i=0 ;i <  newsArray.length() ; i++) 
    {
    Vector _adElementsVector=new Vector();
    JSONObject newsObj = newsArray.getJSONObject(i);
    _adElementsVector.addElement(newsObj.getString("message"));
    //_adElementsVector.addElement(newsObj.getString("Insert Json Array Element Key2"));
    _adBeanVector.addElement(_adElementsVector);
    }
    }
    if (out != null){
    out.close();
    }
    if (in != null){
    in.close();
    }
    if (conn != null){
    conn.close();
    }
    }

    } catch (Exception e) 
    {
    Dialog.alert(e.getMessage());
    }
}
}

但我不能为了我的目的修改它。任何人都可以帮我修改此代码示例以访问this json。我对这个学科领域非常陌生。

提前谢谢你。

1 个答案:

答案 0 :(得分:2)

试试这个 -

 JSONObject resObject=new JSONObject(_response);
 String _name=resObject.getString("name"); //This will get the result as Froyo
 String _version=resObject.getString("version");  //This will get the result as Android 2.2   
 Dialo.alert("Name : "+_name+" and Version : "+_version);