Разбор Json в Blackberry 5.0 - PullRequest
       3

Разбор Json в Blackberry 5.0

5 голосов
/ 03 марта 2012

Я занимаюсь разработкой приложения в Blackberry версии 5.0, и мне пришлось импортировать всю библиотеку, которая требуется для json в 5.0.

у меня была библиотека загрузки с этого URL http://supportforums.blackberry.com/t5/Java-Development/JSON-library/td-p/573687

даже если я не получаю ответ, что я пропустил в этом коде, пожалуйста, помогите мне.

Ниже мой код для разбора json.

 package mypackage;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;

import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;

import JSON_ME_Library.src.org.json.me.JSONArray;
import JSON_ME_Library.src.org.json.me.JSONException;
import JSON_ME_Library.src.org.json.me.JSONObject;

import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.component.ButtonField;
import net.rim.device.api.ui.component.Dialog;
import net.rim.device.api.ui.component.LabelField;
import net.rim.device.api.ui.container.MainScreen;


public final class MyScreen extends MainScreen
{

    String url="http://www.appymail.com/iphone-messenger/456842/";

    public MyScreen()
    {                
        setTitle("Json Parsing Sample");

         String aa=jsonresponse(url);

        if(aa.equalsIgnoreCase(""))
        {
            add(new LabelField("NO res"));
        }
        else
        {
            parseJSONResponceInBB(aa);

        }


    }



    void parseJSONResponceInBB(String jsonInStrFormat)
    {  


        try {  
            JSONObject json = new JSONObject(jsonInStrFormat);  
            JSONArray jArray= json.getJSONArray("messages");  

            //JSONArray arr=jArray.getJSONArray(0);

            for(int i=0;i<jArray.length();i++)
            {  
                JSONObject j = jArray.getJSONObject(i);  
                String from = j.getString("id");         
                add(new LabelField("id=="+from));

                String to =j.getString("title");
                add(new LabelField("title=="+to));           

                String message=j.getString("body");                
                add(new LabelField("Body=="+message));

            }  
        } catch (JSONException e) 
        {           
            e.printStackTrace();  
        }    



    }  

    public static String jsonresponse (String url) 
    { 
        String response = null; 
        HttpConnection httpConnection = null; 
        InputStream inStream = null; 
        int code; 
        StringBuffer stringBuffer = new StringBuffer();

        try { 

            httpConnection = (HttpConnection) Connector.open(url, Connector.READ); 
            httpConnection.setRequestMethod(HttpConnection.GET); 

            code = httpConnection.getResponseCode(); 

            if(code == HttpConnection.HTTP_OK) 
            { 
                inStream=httpConnection.openInputStream(); 
                int c; 


                while((c=inStream.read())!=-1) 
                { 
                  stringBuffer.append((char)c); 
                } 
                response=stringBuffer.toString(); 
                System.out.println("Response Getting from Server is ================" + response); 



            }
        else 
            { 
                UiApplication.getUiApplication().invokeLater(new Runnable() 
                { 

                    public void run()
                    {       
                        Dialog.inform("Connection error"); 
                    } 
                }); 
            } 


        } 
        catch (Exception e) 
        { 

            System.out.println("caught exception in jsonResponse method"+e.getMessage()); 

        } 
        finally
        {

        //      if (outputStream != null) 
        //      { 
        //          outputStream.close(); 
        //      }
                if (inStream != null) 
                { 
                    try {
                        inStream.close();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } 
                }
                if (httpConnection != null ) 
                { 
                    try {
                        httpConnection.close();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } 
                } 
        }

        return response; 
    }


}

Ответы [ 2 ]

1 голос
/ 03 марта 2012

Введите URL в

     String url="Your url";
     String request=jsonresponse(url+";interface=wifi");
     String response = parseJSONResponceInBB(request);
     if(response .equalsIgnoreCase(""))
     {
        add(new LabelField("NO res"));
     }
     else
     {
        add(new LabelField(response ));
     }
1 голос
/ 03 марта 2012

Здравствуйте, дорогой, вам нужно использовать расширение url для blackberry

поэтому, пожалуйста, попробуйте изменить эту строку

  String aa=jsonresponse(url); 

в

String aa=jsonresponse(url+";interface=wifi");

После успешного завершения загрузки данных с URL-адреса, затем один раз проверьте строку. если он получит данные, следуйте

попробуйте, если он работает нормально, перейдите по следующей ссылке

Руководство по расширению URL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...