2009-09-24 38 views
9

Tôi muốn phân tích phản hồi đến từ máy chủ ở định dạng JSON. Tôi đã làm một số googling nhưng tôi không thể tìm thấy bất kỳ thư viện hoặc jar loại điều.Làm cách nào để phân tích cú pháp phản hồi JSON trong Blackberry/J2ME?

Mọi nơi đều được cung cấp mã nguồn mở dưới dạng tệp zip.

Làm cách nào tôi có thể đạt được điều này? nếu không có jar có sẵn cho blackberry thì làm thế nào để sử dụng mã nguồn mở đó trong ứng dụng của tôi ??

Trả lời

9

Có một open source JSON for J2ME API on Mobile and Embedded Application Developers Project

Ngoài ra bạn có thể download JSON ME (Zip file) at JSON.org không được hỗ trợ nữa. Nhưng bạn có thể lấy nó từ here.

Tôi tin rằng bạn chỉ cần sao chép nội dung của thư mục src dự án json vào thư mục src dự án Blackberry của bạn, làm mới nó trong trình khám phá gói eclipse và xây dựng nó.

Xem để biết chi tiết: Using JavaScript Object Notation (JSON) in Java ME for Data Interchange

+2

Có, chúng tôi sử dụng mã JSON ME từ json.org và nó hoạt động rất tốt. Như bạn đã nói, chỉ cần trích xuất mã nguồn vào cây mã nguồn của riêng bạn và nó sẽ được biên dịch vào ứng dụng của bạn. –

+0

"tải xuống JSON ME (tệp Zip) tại JSON.org" liên kết bị hỏng – paullb

+0

xem các liên kết cập nhật –

3

Khi bạn nhận được chuỗi phản ứng sau đó sử dụng mã này

try { 
     JSONObject jsonres = new JSONObject(jsons); 
     System.out.println("Preview icon from jsonresp:"+jsonres.getString("mydata")); 
    } catch (JSONException ex) { 
     Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); 
    } 

một jsons điều là chuỗi phản ứng của bạn mà là ở định dạng json & mydata chìa khóa dữ liệu của bạn, do đó bạn có thể nhận được dữ liệu của bạn từ JSONObject. Thnks

2

Bạn cũng có thể thử:

http://pensivemode.fileave.com/verified_json.jar

Tôi cũng đang tìm kiếm một phiên bản jar của json (để liên kết cùng lib của tôi):

https://radheshg.wordpress.com/tag/json/

nhưng có vẻ như không di động:

Building example 
C:\Program Files (x86)\Research In Motion\BlackBerry JDE 4.5.0\bin\rapc.exe -quiet import="C:\Program Files (x86)\Research In Motion\BlackBerry JDE 4.5.0\lib\net_rim_api.jar";lib\${PROJECT}.jar;lib\json.jar codename=example\example example\example.rapc warnkey=0x52424200;0x52525400;0x52435200 Y:\src\${PROJECT}-java.git\example\src\mypackage\MyApp.java Y:\src\${PROJECT}-java.git\example\src\mypackage\MyScreen.java 
tmp3139/org/json/me/JSONArray.class: Error!: Invalid class file: Incorrect classfile version 
Error while building project 

http://supportforums.blackberry.com/t5/Java-Development/JSON-library/m-p/573687#M117982

2

Cho đến nay JSON.simple trông giống như một lựa chọn khả thi tuyệt vời.

JSONParser parser=new JSONParser(); 

    System.out.println("=======decode======="); 

    String s="[0,{\"1\":{\"2\":{\"3\":{\"4\":[5,{\"6\":7}]}}}}]"; 
    Object obj=parser.parse(s); 
    JSONArray array=(JSONArray)obj; 
    System.out.println("======the 2nd element of array======"); 
    System.out.println(array.get(1)); 
    System.out.println(); 
6

Tôi đang phát triển ứng dụng khách của Blackberry và tôi cũng gặp phải vấn đề tương tự. Tôi đã tìm kiếm cách phân tích cú pháp JSON mà tôi nhận được từ máy chủ. Tôi đang sử dụng trình cắm thêm Eclipse cho BB như IDE và nó đi kèm với BB SDK, bao gồm cả trình cắm thêm cho JSON.

Câu trả lời đơn giản nhất cho câu hỏi này là:

Ban đầu đừng quên sử dụng tuyên bố nhập khẩu này:

import org.json.me.JSONObject; 

Sau đó gán JSON định dạng trả lời của bạn từ máy chủ đến một biến String:

String jsonStr = "{\"team\":\"Bursaspor\",\"manager\":\"Ertuğrul Sağlam\",\"year\":\"2010\"}"; 

Tạo JSONObject:

JSONObject obj = new JSONObject(jsonStr); 

tức là nếu bạn muốn sử dụng giá trị của "đội bóng" lĩnh vực đó là "Bursaspor", sau đó bạn nên sử dụng JSONObject của bạn như thế này:

obj.getString("team") 

Cuộc gọi này sẽ trả về giá trị chuỗi đó là "Bursaspor ".

P.S: Tôi lấy cảm hứng từ giải pháp này từ trang web này, giải pháp này đơn giản giải thích cùng một vấn đề cho phát triển Android.

http://trandroid.com/2010/05/17/android-ile-json-parse-etme-ornegi-1/

Các vấn đề liên quan