Blackberry json parser

2019-09-21 02:28发布

问题:

I want to create a simple json parser for BlackBerry to test. I found this example, and implement my code as follows

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());
    }
}
}

but I cannot modify it for my purpose. Can any one help me to modify this code sample to access this json. I'm very much new to this subject area.

Thank you in advance.

回答1:

try this -

 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);