【问题标题】:Error parse json to arrayList将 json 解析为 arrayList 时出错
【发布时间】:2017-09-03 07:28:27
【问题描述】:

我的 json

[
  {
    "id": "1",
    "anneeMois": "201611",
    "dateModification": "2016-04-18",
    "montantValide": "500.00",
    "nbJustificatifs": "3",
    "visitorId": "1",
    "etat": {
      "id": "1",
      "libEtat": "Saisie clôturée"
    }
  },
  {
    "id": "8",
    "anneeMois": "201617",
    "dateModification": "2016-08-16",
    "montantValide": "650.00",
    "nbJustificatifs": "7",
    "visitorId": "1",
    "etat": {
      "id": "1",
      "libEtat": "Saisie clôturée"
    }
  },

我的班级

public class FicheFrais implements  java.io.Serializable {

    private int id;
    private String anneeMois;
    private Date dateModification;
    private float montantValide;
    private int nbJustificatifs;
    private int visitorId;

    @SerializedName("etat")
    private Etat etat;

我的班级

public class Etat  implements  java.io.Serializable{

   private  int id_etat;
   private String lib_etat;

我想将我的 json 解析为 List<Frais>

我用过

List<FicheFrais> mesFichesFrais =   unGson.fromJson(sb.toString(),TypeToken.get(new ArrayList<FicheFrais>().getClass()).getType());

但它不起作用。

【问题讨论】:

  • 请定义"doesn't work"。你得到错误/异常/不正确的结果吗?
  • 试试这个:List mesFichesFrais = new Gson().fromJson(sb.toString(), new ArrayList().getClass()).getType());跨度>

标签: java json parsing arraylist gson


【解决方案1】:

你的json好像错了,以[开头,以}结尾, 如果你想让它成为一个列表,它应该以 [] 开头和结尾

    [
  {
    "id": "1",
    "anneeMois": "201611",
    "dateModification": "2016-04-18",
    "montantValide": "500.00",
    "nbJustificatifs": "3",
    "visitorId": "1",
    "etat": {
      "id": "1",
      "libEtat": "Saisie clôturée"
    }
  },
  {
    "id": "8",
    "anneeMois": "201617",
    "dateModification": "2016-08-16",
    "montantValide": "650.00",
    "nbJustificatifs": "7",
    "visitorId": "1",
    "etat": {
      "id": "1",
      "libEtat": "Saisie clôturée"
    }
  }
  ]

但我建议您创建一个包含列表的对象,例如

        {
  "myList": [
    {
      "id": "1",
      "anneeMois": "201611",
      "dateModification": "2016-04-18",
      "montantValide": "500.00",
      "nbJustificatifs": "3",
      "visitorId": "1",
      "etat": {
        "id": "1",
        "libEtat": "Saisie clôturée"
      }
    },
    {
      "id": "8",
      "anneeMois": "201617",
      "dateModification": "2016-08-16",
      "montantValide": "650.00",
      "nbJustificatifs": "7",
      "visitorId": "1",
      "etat": {
        "id": "1",
        "libEtat": "Saisie clôturée"
      }
    }
  ]
}

我还建议使用http://www.jsoneditoronline.org/ 来检查您的 json 是否正确

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-06
    • 1970-01-01
    相关资源
    最近更新 更多