2016-11-25 40 views
-3

我有一个Java类,我想将它转化成JSON,所以我可以将其发布到WCF服务如何将Java类和Java数组列表转换成JSON

这里就是我正在寻找一个例子:

  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); 
     //------------------------------ 

结果是像以下 { “发票”: “[email protected]”}

发票是Parcelable以及还有Invoice.Header是Java类(InvoiceMaster是Parcelable)和Invoice.Details是Java类的列表(发票详细类是Parcelable)

感谢

回答

0

只是这样做(GSON从谷歌)

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

这是如此简单和完美! –