标签: org.json

66
推荐指数
2
解决办法
6万
查看次数

如何在Java 7中使用org.json Java库

我需要在我的应用程序中进行一些简单的JSON解析,Douglas Crockford库似乎正是我需要的.

但是,我似乎遇到了一个问题.我收到以下错误:

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/json/JSONObject : Unsupported major.minor version 52.0

我google了一下,我得到的印象是这是由于某些版本不兼容.我试过改变Java版本,但它似乎没有帮助.我在我的程序中使用Java 7和Java 7功能,最终我想使用Java 7.

我该如何解决这个问题?

PS:我看过杰克逊和GSON,绝对不想使用任何一个,所以请不要建议替代.

java json org.json

42
推荐指数
1
解决办法
3万
查看次数

如何在Java中克隆org.json.JSONObject?

有没有办法克隆一个实例org.json.JSONObject而不对其进行字符串化并重新分析结果?

浅拷贝是可以接受的.

java json org.json

40
推荐指数
3
解决办法
4万
查看次数

JSON.getString不返回null

我有一个从服务器返回的响应,我期待一个String值,所以我写这个来解析它

public String getMessageFromServer(JSONObject response) {
    String msg = response.getString("message");
    return msg;
}
Run Code Online (Sandbox Code Playgroud)

然后,当我在我的代码中使用它并null从服务器获取值时,函数不返回null,而是返回"null".

我看过这个错误报告,但我没有看到解决方案.

编辑:

我有一个很小的黑客来解决这个问题,但它很难看,我正在寻找一个更好的解决方案:

public String getMessageFromServer(JSONObject response) {
    Object msg = response.get("message");
    if(msg == null) {
         return null;
    }
    return (String) msg;
}    
Run Code Online (Sandbox Code Playgroud)

编辑#2:

多年以后,回到这个问题,我看到我在这里并没有完全错误,并且JSONObject有一个内置的方法.

从a获取可选值的方法JSONObject是使用此方法 JSONObject.optString("message", DEF_VALUE);

java json org.json

20
推荐指数
1
解决办法
1万
查看次数

使用org.json解析JSON

我正在尝试解析服务器的输出,如下所示:

{
  "GetFolderFilesByZoneResult": [
    {
      "ID": 98748,
      "CreatedBy": "",
      "UpdatedBy": "none",
      "CreatedDate": "\/Date(1308273033620+0100)\/",
      "UpdatedDate": "\/Date(1308303003770+0100)\/",  
      "CommentCount": 0,
      "Key": "",
      "Enabled": true,
      "MimeType": "video",
      "Votes": 2,
      "TotalRating": 0,
      "AllowComments": true,
      "ViewCount": 323,
      "ReleaseDate": "\/Date(1308273000000+0100)\/",
      "ExpireDate": "\/Date(4102444800000+0000)\/",
      "Author": "",
      "Size": 133799936,
      "Tag1": "",
      "Tag2": "",
      "Tag3": "",
      "RecycleBin": false
    },
    {
      "ID": 99107,
      "CreatedBy": "",
      "UpdatedBy": "none",
      "CreatedDate": "\/Date(1308583412520+0100)\/",
      "UpdatedDate": "\/Date(1308583564007+0100)\/",     
      "CommentCount": 0,
      "Key": "",
      "Enabled": true,
      "MimeType": "video",
      "Votes": 0,
      "TotalRating": 0,
      "AllowComments": true,
      "ViewCount": 33,
      "ReleaseDate": "\/Date(1308583380000+0100)\/",
      "ExpireDate": "\/Date(4102444800000+0000)\/",
      "Author": …
Run Code Online (Sandbox Code Playgroud)

java json org.json

18
推荐指数
2
解决办法
5万
查看次数

使用org.json lib的Java对象到JSON

我有这样的课:

public class Class1 {
    private String result;
    private String ip;
    private ArrayList<Class2> alarm;
}
Run Code Online (Sandbox Code Playgroud)

警报它的类是这样的:

public class Class2 {
    private String bla;
    private String bla1;
}
Run Code Online (Sandbox Code Playgroud)

有没有简单的方法将orl.json的Class1实例转换为JSON对象?

java org.json

9
推荐指数
2
解决办法
2万
查看次数

找不到org.json.JSONObject

我正在开发一个使用该org.json.JSONObject包的Java项目.但是,每当我在eclipse中使用它时,它都说没有找到这样的包.然而,当我在android上开发即在eclipse中创建一个新的Android项目时,我可以在不做任何事情的情况下使用它(不添加外部JAR和东西),所以我很确定所需的JAR在我的机器上.

但是,在我的整个文件系统上搜索"org.json","*json*jar","json*jar"并没有返回任何内容.

java eclipse classpath org.json

9
推荐指数
1
解决办法
1万
查看次数

Android内置了什么版本的org.json?

我正在使用依赖的开源库org.json:json:20090211.显然20090211,Android和版本之间存在一些API差异.当我启用ProGuard最小化时,我看到此警告:

警告:com.esri.core.geometry.JSONObjectEnumerator:在库类org.json.JSONObject中找不到引用的方法'java.lang.String [] getNames(org.json.JSONObject)'

该方法存在于当前的参考实现中JSONObject,因此我假设它在版本之前的某个时间添加20090211,而不是在它之后删除,这意味着Android中包含的版本较旧.我想对这个版本进行区分,20090211看看需要做些什么才能使依赖于20090211与Android兼容的库.

Android中包含哪个版本的org.json?

(我知道我可以重命名org.json并将依赖项更改为重命名的版本,但是如果可能的话我想避免这种情况.这样的更改不太可能被上游接受.)

android org.json

9
推荐指数
1
解决办法
838
查看次数

为什么double在JSON字符串中转换为int

我刚刚编写了一个双精度值数组JsonObject.但是,当我打印它时,我的所有double值都会转换为int值.谁能帮我理解背后发生的事情?请让我知道放置原始数组的最佳方法JsonObject

public class JsonPrimitiveArrays {        
    public static void main(String[] args) {
        JSONObject jsonObject = new JSONObject();
        double[] d = new double[]{1.0,2.0,3.0};
        jsonObject.put("doubles",d);
        System.out.println(jsonObject);            
    }        
}
Run Code Online (Sandbox Code Playgroud)

输出:

{ "双打":[1,2,3]}

java org.json

7
推荐指数
3
解决办法
2万
查看次数

如何将Java String转换为JSON对象

之前已经提出过这个问题,但是我无法从对这些问题的回答中找出我的代码中的错误.


我试图将java字符串转换为json对象.这是代码:

import org.json.JSONObject;
//Other lines of code
URL seatURL = new URL("http://freemusicarchive.org/api/get/genres.json?api_key=60BLHNQCAOUFPIBZ&limit=2");
//Return the JSON Response from the API
BufferedReader br = new BufferedReader(new InputStreamReader(seatURL.openStream(),Charset.forName("UTF-8")));
String readAPIResponse = " ";
StringBuilder jsonString = new StringBuilder();
while((readAPIResponse = br.readLine()) != null){
    jsonString.append(readAPIResponse);
}
JSONObject jsonObj = new JSONObject(jsonString);
System.out.println(jsonString);
System.out.println("---------------------------");
System.out.println(jsonObj);
Run Code Online (Sandbox Code Playgroud)

输出是:

{"title":"Free Music Archive - Genres","message":"","errors":[],"total":"163","total_pages":82,"page":1,"limit":"2","dataset":[{"genre_id":"1","genre_parent_id":"38","genre_title":"Avant-Garde","genre_handle":"Avant-Garde","genre_color":"#006666"},{"genre_id":"2","genre_parent_id":null,"genre_title":"International","genre_handle":"International","genre_color":"#CC3300"}]}
---------------------------
{}
Run Code Online (Sandbox Code Playgroud)

所以,正如你所看到的,jsonstring正在获取数据,但jsonObj却没有.我正在使用org.json JAR.

java json org.json

7
推荐指数
2
解决办法
8万
查看次数

标签 统计

org.json ×10

java ×9

json ×6

android ×1

classpath ×1

eclipse ×1