2016-11-25 1 views
-3

zu konvertieren habe ich eine Java-Klasse und ich möchte es JSON konvertieren, damit ich es zu WCF-Service Geben SieWie Java-Klasse und Java Array List zu JSON

Hier ist ein Beispiel dessen, was ich suche:

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

das Ergebnis ist wie folgt { "Rechnung": "[email protected]"}

Rechnung ist Parcel und auch die Invoice.Header ist Java-Klasse (InvoiceMaster ist Parcelable) und Invoice.Details ist die Liste der Java - Klasse (Rechnung Detail-Klasse ist Parcel)

Dank

Antwort

0

nur tun dies (Gson von google)

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

Das war so einfach und perfekt! –

Verwandte Themen