Java 返回有效JSON格式的字符串
我想返回有效的json字符串 例:Java 返回有效JSON格式的字符串,java,json,Java,Json,我想返回有效的json字符串 例: { “状态”:“成功”, “总金额”:“41”, “igst_金额”:14, “sgst_金额”:0, “cgst_金额”:“12”, “消费金额”:15 } 预期: { "status":"Success", "total_amt": "41", "igst_amt": "14", "sgst_amt": "0", "cgst_amt": "12", "cess_amt": "15" } 我写了以下代码: public String toS
{
“状态”:“成功”,
“总金额”:“41”,
“igst_金额”:14,
“sgst_金额”:0,
“cgst_金额”:“12”,
“消费金额”:15
}
预期:
{
"status":"Success",
"total_amt": "41",
"igst_amt": "14",
"sgst_amt": "0",
"cgst_amt": "12",
"cess_amt": "15"
}
我写了以下代码:
public String toString() {
return "{\"status\":\"" + status + "\",\"total_amt\":\"" + total_amt + "\",\"igst_amt\":\"" + igst_amt
+ "\",\"sgst_amt\":\"" + sgst_amt + "\",\"cgst_amt:\"" + cgst_amt + "\",\"cess_amt\":\"" + cess_amt + "\"}";
}
它没有返回有效的JSON。请阅读有关gson的信息,了解如何返回JSON格式 要简单地使用它,您可以:
final Gson gson = new GsonBuilder().setPrettyPrinting().create();
final String string = "you string";
return gson.toJson(string);
我希望igst_金额、sgst_金额和cess_金额是整数 所以您将.toString()添加到它们中
您可以使用第三方库。本例使用
不要手工组装JSON。构建一个结构,然后用适当的JSON库序列化该结构。您需要创建“Ex”示例还是“预期”示例?他们不一样,嗨!请拿着(你得到了一个徽章!),四处看看,并通读,特别是我还推荐Jon Skeet的和。“Ex”键值对不在双引号中,我想通过java将“Ex”转换为“预期”。。(双引号中的键值对)。JSON只要求键在双引号中,它们在“Ex”中。如果希望值是数字,请不要将它们括在引号中。如果希望它们是字符串,请将它们放在引号中。但再次强调:不要手动操作。你可能是对的。抱歉:)为了更清楚,我将更新评论。
public String toString() {
return "{\"status\":\"" + status + "\",\"total_amt\":\"" + total_amt + "\",\"igst_amt\":\"" + igst_amt.toString()
+ "\",\"sgst_amt\":\"" + sgst_amt.toString() + "\",\"cgst_amt:\"" + cgst_amt + "\",\"cess_amt\":\"" + cess_amt.toString() + "\"}";
}
class Result {
private String status;
@SerializedName("total_amt")
private int totalAmount;
@SerializedName("igst_amt")
private int igstAmount;
@SerializedName("sgst_amt")
private int sgstAmount;
@SerializedName("cgst_amt")
private int cgstAmount;
@SerializedName("cess_amt")
private int cessAmount;
public Result() {}
}
Result result = new Result();
// set your fields
String json = new Gson().toJson(result);