1

我正在使用 org.json.me 在 BlackBerry 上解析 JSON,但我无法解析结果。模拟器控制台说:没有堆栈跟踪

这是我在从我的 restclient 接收到 JSON 字符串后解析 JSON 的代码

    try {
        JSONObject outer=new JSONObject(data);     
        JSONArray ja = outer.getJSONArray("status");
        JSONArray arr=ja.getJSONArray(0);               
        System.out.println(arr);
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

这是从服务器获取 JSON 的片段代码

public PromoThread(final String url, final ResponseCallback callback){
    Thread t = new Thread(new Runnable(){
        public void run() {
            waitScreen = new WaitPopupScreen();

            System.out.println("Log >> Promo thread run...");
            synchronized (UiApplication.getEventLock()){
                UiApplication.getUiApplication().pushScreen(waitScreen);
            }
            //network call
            try {
                conn = (HttpConnection) new ConnectionFactory().getConnection(url).getConnection();
                conn.setRequestMethod(HttpConnection.GET);
                conn.setRequestProperty("User-Agent", "Profile/MIDP-1.0 Confirguration/CLDC-1.0");

                if (conn.getResponseCode() == HttpConnection.HTTP_OK) {
                    in = conn.openInputStream();
                    // parser.parse(in, handler);
                    //buff.append(IOUtilities.streamToBytes(in));
                    //result = buff.toString();
                    results = new String(IOUtilities.streamToBytes(in));
                    //System.out.println("Log >> Result: " + results);
                    UiApplication.getUiApplication().invokeLater(
                            new Runnable() {
                                public void run() {
                                    //UiApplication.getUiApplication().popScreen(waitScreen);
                                    callback.callback(results, waitScreen);
                                }
                    }); 
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            } finally {
                try {
                    if (in != null) {
                        in.close();
                    }
                    conn.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    });

    //start thread
    t.start(); 
}

谢谢你的帮助

4

0 回答 0