2013-05-10 114 views
-1

我想爲BlackBerry測試創建一個簡單的json解析器。我發現this例子,並實現我的代碼如下黑莓json解析器

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

,但我不能修改我的目的。任何人都可以幫助我修改此代碼示例以訪問json的this。我對這個主題領域非常陌生。

預先感謝您。

+1

什麼是 「插入的Json鑰匙」? – Signare 2013-05-10 05:06:25

回答

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

可以請你解釋一下 的這條線是什麼JSONArray newsArray = resObject.getJSONArray(「Insert Json Array Key」); – Grant 2013-05-21 11:01:34

+0

這一行將獲得鍵=「插入Json數組鍵」的json數組 – Signare 2013-05-21 11:20:28