我已经使用了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