在BlackBerry上进行JSON解析

时间:2012-10-04 12:14:39

标签: json blackberry

我正在使用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(); 
}

感谢您的帮助

0 个答案:

没有答案