当前位置: 首页 > 面试题库 >

Java“预期为BEGIN_OBJECT,但位于第1行第1列的STRING处”

贝德辉
2023-03-14
问题内容
public static Object parseStringToObject(String json) {
    String Object = json;
    Gson gson = new Gson();
    Object objects = gson.fromJson(object, Object.class);
    parseConfigFromObjectToString(object);
    return objects;
}

我想解析一个JSON:

public static void addObject(String IP, Object addObject) {
    try {
        String json = sendPostRequest("http://" + IP + ":3000/config/add_Object", ConfigJSONParser.parseConfigFromObjectToString(addObject));
        addObject = ConfigJSONParser.parseStringToObject(json);
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

但是我收到一条错误消息:

com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期为BEGIN_OBJECT,但位于第1行第1列


问题答案:

即使没有看到你的JSON字符串,你也可以从错误消息中得知,它不是要解析为类实例的正确结构。

Gson希望你的JSON字符串以对象打开括号开头。例如

{

但是你传递给它的字符串以开引号开头

"


 类似资料:
  • 问题内容: 我有这种方法: 我想解析一个JSON: 但是我收到一条错误消息: com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期为BEGIN_OBJECT,但位于第1行第1列 问题答案: 即使没有看到您的JSON字符串,您也可以从错误消息中得知,它不是要解析为类实例的正确结构。 Gson希望您的JSON字符串

  • 我正在尝试运行此应用程序,但当我尝试登录时,我在“logcat”中看到此错误。消息“Success Login”表示它已被记录,并且有到数据库的连接,但我不知道在哪里等待对象,在哪里接收字符串。 10-11 14:54:10.481 2532-7430/com.alvardev.demos.limaculturalD/com.alvardev.demos.limacultural.http.Res

  • 我是android编程新手。我有一个类,在这个类中,修改API调用是为了解析和显示JSON文件中的几个属性。但我得到: Java语言lang.IllegalStateException:应为BEGIN\u对象,但在第2行第1列为字符串 好心帮忙。我搜索了答案,但没有发现JSON响应有任何问题。发布了我的JSON响应和JAVA类: JSON响应: JAVA文件: 模型类:

  • 问题内容: 我刚从gson开始,我想解析一个以对象开头的JSON字符串,并且总是得到相同的错误JSON。 我一直遇到错误: 我的日志中的错误指向这一行: 这是我的pojo 问题答案: 您的主类将数据作为列表。您的JSON将其作为对象。类型需要匹配。如果您希望main中只有1个数据,请不要使用列表。如果期望1个或多个数据,则使生成数据的代码向下发送一个数组(即使该数组中只有1个对象)。

  • 问题内容: 我遇到错误了。 由于以下原因,无法解析JSON:com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期为BEGIN_ARRAY,但在第1行第2列为BEGIN_OBJECT 服务器网址 执行请求 上课后 我该如何解决? 问题答案: 您在注释中声明返回的JSON是这样的: 您告诉Gson您有一个对象数组:

  • 问题内容: 我知道这不是第一次有人问这个问题,但是有了Retrofit2,我找不到合适的解决方案。我遵循了在线教程,效果很好。当我将相同的代码应用于自己的端点时,会出现以下异常:我不知道该如何解决。 接口: 客户代码: 此代码与此有效负载一起使用: 但与此不: 我的音乐课: 问题答案: 当你说“此代码正在使用此有效负载:…而不是与此:: …”时,这是预期的,这就是假定的工作方式。实际上,错误消息告