当前位置: 首页 > 知识库问答 >
问题:

JSONException:java.lang.String类型的值不能转换为JSONObject

朱锐
2023-03-14

我有一个JSON文件,其中有2个JSON-Arrays:一个数组用于路由,一个数组用于视图。

一条路线应该由用户导航到的几个景点组成。不幸的是,我得到了一个错误:

JSONException:java.lang.String类型的值不能转换为JSONObject

下面是我的变量和解析JSON文件的代码:

private InputStream is = null;
private String json = "";
private JSONObject jObj = null;

try {
    BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8);
    StringBuilder sb = new StringBuilder();
    String line = null;
    while ((line = reader.readLine()) != null) {
        sb.append(line + "\n");
    }
    is.close();
    // hier habe ich das JSON-File als String
    json = sb.toString();
    Log.i("JSON Parser", json);
} catch (Exception e) {
    Log.e("Buffer Error", "Error converting result " + e.toString());
}

// try parse the string to a JSON object
try {
    jObj = new JSONObject(json);
} catch (JSONException e) {
    Log.e("JSON Parser", "Error parsing data " + e.toString());
}

// return JSON String
return jObj;
}

但错误发生在这里:

try {
    jObj = new JSONObject(json);
} catch (JSONException e) {
    Log.e("JSON Parser", "Error parsing data " + e.toString());
}

04-22 14:01:05.043:E/JSON解析器(5868):解析数据org.json.jsonException时出错:java.lang.String类型的值//此处有奇怪的符号//不能转换为JSONObject

有人知道如何消除这些标志来创建JSONObject吗?

共有1个答案

崔高远
2023-03-14

请参阅http://stleary.github.io/json-Java/org/json/jsonobject.html#jsonobject-java.lang.string-

JsonObject

public JSONObject(java.lang.String source)
           throws JSONException

从源JSON文本字符串构造JSONObject。这是最常用的`JSONObject构造函数。

Parameters:
    source - `A string beginning with { (left brace) and ending with } (right brace).` 
Throws:
    JSONException - If there is a syntax error in the source string or a duplicated key.

你试着用一些东西,比如:

new JSONObject("{your string}")
 类似资料:
  • 问题内容: 我花了2天的时间找到问题的解决方案。 这是错误: 这是JSON: 用于获取字符串值的类: 这是转换为JSONArray: 我试图获取Json对象,然后将其转换为Json数组,但收到相同的错误。 问题答案: 问题是您的JSON格式不正确。我已经尝试过使用示例JSON,并找到了解决方案。现在,内置的JSONObject和JSONArray无法用于获取此类JSON响应。 您需要通过将其添加到

  • 我试图编译一个从SourceForge得到的仍在开发中的项目。这是它的地址:。https://sourceforge.net/p/groove/code/5475/tree/groove/trunk/我知道这个项目经过了很好的验证,它没有任何错误,但是当我要编译它的时候,我遇到了这个编译错误: 错误在这个文件的第370行:https://sourceforge.net/p/groove/code/

  • 我知道这是另一个类似的问题,但我自己无法回答,这就是我写信给你寻求帮助的原因。 我尝试创建自己的@Query,并在两种情况下返回一个转换错误。我的猜测是服务有问题,但这是我的知识结束。 下面是我的代码: > 主实体 2.第二种模式 3.第三种模式 存储库 @Repository public interface UserRepository extends jparepository { } 服务

  • 获取以下错误: 请帮我把结果设置到这个BO类中。

  • 我试图在if语句中调用一个方法,但我总是得到以下错误。 不兼容的类型:java.lang.String不能转换为boolean