GSON конвертирует из - PullRequest
       4

GSON конвертирует из

0 голосов
/ 27 декабря 2011

Привет. Я пытаюсь использовать класс GSON для преобразования следующей строки Json.

{"data":
     {"detections":
                  [
                    [ 
                     {"language":"en","isReliable":false,"confidence":0.9759119}
                    ]
                  ]
      }
}

Я получаю эту ошибку.com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: ожидаемый BEGIN_ARRAY, но был BEGIN_OBJECT на com.google.gson.Gson.fromJson (Gson.java:731)

Какой должна быть иерархия классов для этого

1 Ответ

1 голос
/ 28 декабря 2011

Возможно, следующий пример дает адекватное представление.

import java.io.FileReader;
import java.math.BigDecimal;

import com.google.gson.Gson;

public class GsonFoo
{
  public static void main(String[] args) throws Exception
  {
    Gson gson = new Gson();
    Bar bar = gson.fromJson(new FileReader("input.json"), Bar.class);

    System.out.println(bar.data.detections[0][0]);
    // output:
    // Detection: language=en, isReliable=false, confidence=0.9759119
  }
}

class Bar
{
  Data data;
}

class Data
{
  Detection[][] detections;
}

class Detection
{
  Language language;
  boolean isReliable;
  BigDecimal confidence;

  @Override
  public String toString()
  {
    return String.format("Detection: language=%s, isReliable=%s, confidence=%s", language, isReliable, confidence);
  }
}

enum Language
{
  en, fr;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...