预期为 BEGIN_OBJECT,但在第 1 行第 1 列为 STRING"

本教程将介绍“预期为 BEGIN_OBJECT,但在第 1 行第 1 列为 STRING"的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

预期为 BEGIN_OBJECT,但在第 1 行第 1 列为 STRING" 教程 第1张

问题描述

我有这个方法:

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 列为 STRING

推荐答案

即使没有看到您的 JSON 字符串,您也可以从错误消息中看出它不是正确的结构来解析为您的类的实例.

Gson 期望您的 JSON 字符串以对象左大括号开头.例如

{

但是你传递给它的字符串以一个开引号开始

"

好了关于“预期为 BEGIN_OBJECT,但在第 1 行第 1 列为 STRING"的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。