2013-05-10 3 views
-1

Я хочу создать простой json-парсер для BlackBerry для тестирования. Я нашел this пример, и реализовать свой код следующим образомBlackberry json parser

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

что "Вставить Json ключ"? – Signare

ответ

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

+0

эта строка получит массив json с ключом = "Вставить Json Array Key" – Signare