2009-09-24 2 views
9

Я хочу разобрать ответ, исходящий с сервера в формате JSON. Я сделал какой-то поисковик, но я не могу найти какую-либо библиотеку или что-то вроде jar.Как разобрать ответ JSON в Blackberry/J2ME?

Всюду предоставляется открытый исходный код в виде zip-файла.

Как я могу это достичь? если для ежевики нет банки, то как использовать этот открытый исходный код в моем приложении?

ответ

9

Существует open source JSON for J2ME API on Mobile and Embedded Application Developers Project

Также вы можете download JSON ME (Zip file) at JSON.org больше не поддерживается. Но вы можете получить его от here.

Я считаю, что вы можете просто скопировать содержимое папки src проекта json в папку src проекта Blackberry, обновить его в проводнике пакета eclipse и создать его.

Смотрите подробности: Using JavaScript Object Notation (JSON) in Java ME for Data Interchange

+2

Да, мы используем код JSON ME из json.org и он прекрасно работает. Как вы сказали, просто извлеките исходный код в свое собственное дерево исходного кода, и оно будет скомпилировано в ваше приложение. –

+0

"скачать JSON ME (Zip-файл) на JSON.org" ссылка не работает – paullb

+0

посмотреть ссылки обновить –

3

Когда вы получили строку ответа используйте этот код

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

одну вещь jsons вашей строка ответа, который в формате JSON & MyData ключе данных, так что вы можете получить данные из JSONObject. Thnks

2

Вы также можете попробовать:

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

Я также искал версию баночку JSON (связать по моей Lib):

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

но это, кажется, не переносные:

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

Пока JSON.simple выглядит как отличный вариант.

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

Я разрабатываю клиентское приложение Blackberry, и я столкнулся с той же проблемой. Я искал метод JSON для анализа ответа, который я получаю с сервера. Я использую подключаемый модуль Eclipse для BB в качестве IDE, и он поставляется с BB SDK, в том числе для JSON.

Самый простой ответ на этот вопрос заключается в следующем:

Изначально не забудьте использовать этот оператор импорта:

import org.json.me.JSONObject; 

Затем назначьте JSON форматированный ответ от сервера к строковой переменной:

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

Создать JSONObject:

JSONObject obj = new JSONObject(jsonStr); 

т.е. если вы хотите использовать значение поля «команда», которая «Бурсаспор», то вы должны использовать JSONObject так:

obj.getString("team") 

Этот вызов возвращает строковое значение, которое «Бурсаспор ».

P.S: Я вдохновил это решение с этого сайта, которое просто объясняет решение той же проблемы для разработки Android.

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

Смежные вопросы