2012-03-03 6 views
5

मैं ब्लैकबेरी संस्करण 5.0 में ऐप विकसित कर रहा हूं, और मैंने 5.0 में जेसन के लिए आवश्यक सभी लाइब्रेरी आयात की थीं।ब्लैकबेरी में जेसन पार्सिंग 5.0

मैं इस यूआरएल http://supportforums.blackberry.com/t5/Java-Development/JSON-library/td-p/573687

मैं भी नहीं मिल रहा है प्रतिक्रिया से डाउनलोड के पुस्तकालय था, क्या मैं इस कोड में याद आती है था मेरी मदद करें।

नीचे मेरा कोड जेसन पार्सिंग के लिए है।

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


} 
+0

धन्यवाद यूआरएल दर्ज करें इस कोशिश करो! आपके कोड ने मुझे अपनी समस्या का पता लगाने में मदद की :) – yanike

उत्तर

1

नमस्ते प्रिय आप ब्लैकबेरी

के लिए यूआरएल एक्सटेंशन का उपयोग करने की जरूरत है ताकि इस लाइन

String aa=jsonresponse(url); 

बदलने के लिए के रूप में

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

यूआरएल से सफलतापूर्वक पूरा कर लिया डेटा डाउनलोड करने के बाद प्रयास करें फिर एक बार स्ट्रिंग ए को कोई मूल्य प्राप्त करने की जांच करें या नहीं? अगर यह डेटा तो पालन मिल

अगर यह ठीक काम कर रहा है तो यह नीचे दिए गए लिंक के माध्यम से जाने

Guide for URL extensions

+0

मुझे बताएं कि यह आपके लिए काम कर रहा है या नहीं? –

1

में

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

Thanx के लिए Thanx .. – Hasmukh