我如何使用GSON进行此类响应

时间:2014-11-12 16:08:25

标签: android json gson

我有这种格式的服务器响应,请通过建议如何使用GSON来帮助我:

[
  [
    12345678910,
    "ABCDEFG",
    "PRASHJDXSAD",
    "ASDASDWW"
  ],
  [
    08909809887,
    "HIJKLPM",
    "SDASDSD",
    "PRASHJDXSAD"
  ],
  [
    8798798787987,
    "DASDAS",
    "ASDASDSD",
    "QWEWQEW"
  ],
  [
    679879879897,
    "DDSDSDSDS",
    "AASWEWQE",
    "ASDASDDD"
  ]
]

提前致谢!

1 个答案:

答案 0 :(得分:1)

您可以使用TypeToken执行此操作,并使用List<Object[]>来访问每个元素。这是怎么回事。

    String json = "[[12345678910,\"ABCDEFG\",\"PRASHJDXSAD\",\"ASDASDWW\"],[08909809887,\"HIJKLPM\",\"SDASDSD\",\"PRASHJDXSAD\"],[8798798787987,\"DASDAS\",\"ASDASDSD\",\"QWEWQEW\"],[679879879897,\"DDSDSDSDS\",\"AASWEWQE\",\"ASDASDDD\"]]";
    Type type = new TypeToken<List<Object[]>>(){}.getType();
    Gson gson = new Gson();
    List<Object[]> list = gson.fromJson(json, type);
    Object[] t = (Object[]) list.get(0); //[12345678910,"ABCDEFG","PRASHJDXSAD","ASDASDWW"]
    long x = Math.round((Double)t[0]); //t[0] is Double.
    System.out.println(x); //12345678910