我已經使用了gson-2.2.2.jar。下面給出
請找代碼:
Bill.java
public class Bill
{
private double billAmount;
private String billId;
//getters and setters
}
Main.java
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
public class Main
{
public static void main(String[] args)
{
Bill bill = null;
List<Bill> bills = new ArrayList<Bill>();
for (int i = 0; i < 5; i++)
{
bill = new Bill();
bill.setBillAmount(100 + (i + 1));
bill.setBillId("bill_id_" + (i + 1));
bills.add(bill);
}
Gson gson = new Gson();
String json = gson.toJson(bills, new TypeToken<List<Bill>>()
{}.getType());
System.out.println(json);
Type mapType = new TypeToken<List<Bill>>()
{}.getType();
List<Bill> billsRetrieved = new Gson().fromJson(json, mapType);
for (Bill bill2 : billsRetrieved)
{
System.out.println(bill2.getBillId());
}
}
}
輸出:
[
{
"billAmount":101.0,
"billId":"bill_id_1"
},
{
"billAmount":102.0,
"billId":"bill_id_2"
},
{
"billAmount":103.0,
"billId":"bill_id_3"
},
{
"billAmount":104.0,
"billId":"bill_id_4"
},
{
"billAmount":105.0,
"billId":"bill_id_5"
}
]
bill_id_1 bill_id_2 bill_id_3 bill_id_4 bill_id_5
請回復的情況下,你需要進一步的解釋。
在代碼片段中是否存在拼寫錯誤?你的'字符串'沒有被引號包圍。 – SwiftsNamesake
是的,對不起,我沒有把太多的注意力放在那個部分..考慮到這3行是java runnable – Almanz
你可能會得到一堆賬單。你期望有什麼不同嗎? – notionquest