【问题标题】:How to convert Java Class and Java Array List to JSON如何将 Java 类和 Java 数组列表转换为 JSON
【发布时间】:2017-04-09 08:49:16
【问题描述】:

我有一个 Java 类,我想将其转换为 JSON,以便将其发布到 WCF 服务

这是我正在寻找的示例:

            Invoice invoice = new Invoice();

            InvoiceMaster IM = new InvoiceMaster();
            IM.setClientId(SelectedClient.getId());
            IM.setDate("2016-01-01");
            IM.setTypeId(1);
            IM.setOrderedBy("abc");
            invoice.setHeader(IM);

            InvoiceDetail ID;
            List<InvoiceDetail> IDs = new ArrayList<>();
            for (OrderItem I : items) {
                ID = new InvoiceDetail();
                ID.setItemId(I.getItemId());
                ID.setQty(I.getQuantity());
                ID.setUnitPrice(I.getUnitPrice());
                ID.setTotalPrice(I.getTotalPrice());
                ID.setNotes("");
                ID.setUnitId(0);
                IDs.add(ID);
            }
            invoice.setDetails(IDs);

        JSONObject jsonObject = new JSONObject();
        jsonObject.accumulate("Invoice", invoice);


      //Code to Debug the result ------
        String json = jsonObject.toString();
        Log.d("ABC:",json);
      //------------------------------

结果如下 {"发票":"com.technoplusplus.distribution.Classes.Invoice@3960a129"}

Invoice 是 Parcelable,Invoice.Header 是 Java 类(InvoiceMaster 是 Parcelable),Invoice.Details 是 Java 类的列表(InvoiceDetail 类是 Parcelable)

谢谢

【问题讨论】:

    标签: java android json class parcelable


    【解决方案1】:

    就这样做(来自谷歌的 Gson)

    Gson gson = new Gson();
    String json = gson.toJson(invoice);
    

    【讨论】:

    • 这太简单了,太完美了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-08
    • 2020-05-29
    • 1970-01-01
    • 2019-05-23
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    相关资源
    最近更新 更多