我想以JSON格式解析来自服务器的响应。我做了一些谷歌搜索,但我找不到任何库或罐子的东西。
到处都提供了开源代码作为zip文件。
我怎样才能做到这一点?如果没有可用于黑莓的jar,那么如何在我的应用程序中使用该开源代码?
答案 0 :(得分:9)
有一个open source JSON for J2ME API on Mobile and Embedded Application Developers Project
此外,您不再支持download JSON ME (Zip file) at JSON.org 。但你可以从here获得它。
我相信你可以简单地将json project src文件夹的内容复制到你的Blackberry项目src文件夹中,在eclipse包explorer中刷新它并构建它。
详见:Using JavaScript Object Notation (JSON) in Java ME for Data Interchange
答案 1 :(得分:6)
我正在开发一个Blackberry客户端应用程序,我遇到了同样的问题。我正在寻找解析我从服务器获得的响应的JSON方式。我使用Eclipse插件作为IDE的IDE,它附带了BB SDK,包括JSON的那些。
这个问题的最简单答案是:
最初不要忘记使用此导入语句:
import org.json.me.JSONObject;
然后将服务器的JSON格式响应分配给String变量:
String jsonStr = "{\"team\":\"Bursaspor\",\"manager\":\"Ertuğrul Sağlam\",\"year\":\"2010\"}";
创建一个JSONObject:
JSONObject obj = new JSONObject(jsonStr);
即。如果你想使用“团队”字段的值是“Bursaspor”,那么你应该像这样使用你的JSONObject:
obj.getString("team")
此调用将返回字符串值“Bursaspor”。
P.S:我从这个网站启发了这个解决方案,它简单地解释了Android开发中同样问题的解决方案。
http://trandroid.com/2010/05/17/android-ile-json-parse-etme-ornegi-1/
答案 2 :(得分: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
答案 3 :(得分:2)
请阅读这篇文章,了解如何从SVN获取JSONME源代码:
http://www.java-n-me.com/2010/11/how-to-import-source-code-from-svn-to.html
希望它有所帮助。
答案 4 :(得分:2)
您也可以尝试:
http://pensivemode.fileave.com/verified_json.jar
我也在寻找json的jar版本(沿着我的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
答案 5 :(得分: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();