java - "Expected BEGIN_OBJECT but was STRING at line 1 column 1"

标签 java json parsing gson

我有这个方法:

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: Expected BEGIN_OBJECT but was STRING at line 1 column 1

最佳答案

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

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

{

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

"

关于java - "Expected BEGIN_OBJECT but was STRING at line 1 column 1",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47855310/

相关文章:

java - 如何使用j2me在运行时识别移动堆内存?

java - 更改选项卡式 Pane 中当前面板的标签

java - java中的正则表达式,组匹配

javascript - 保存 JS 对象文本文件的约定

java - 无法使用 DOM4J 解析 XML

java - 字节流中协议(protocol)数据单元的动态识别和处理

java - 套接字仅接受一个客户端

javascript - 将工作的 JavaScript 对象序列化为仅保留属性的 JSON?

php - 输出数组,因此它可以用作数据属性的值

c - 将文件的值存储到数组中会导致奇怪的行为