[英]JSON name value pair Parsing in Java
我有以下 JSON 結構,我想將其解析為 Java 對象。 是否有我可以使用的現有庫,或者我應該編寫自定義代碼來解析。 示例 json 結構和 java 類如下。
JSON:
"name": "hierarchy",
"value": "[
{
"name": "solutionid",
"value": "String"
},
{
"name": "groupcode",
"value": "String"
},
{
"name": "dealhashid",
"value": "String"
},
{
"name": "keyinfo_customername",
"value": "String"
},
{
"name": "keyinfo_prequalificationnumber",
"value": "String"
},
{
"name": "keyinfo_orderactiontype",
"value": "String"
}
]"
Java對象:
class Hierarchy {
String solutionId;
String groupCode;
KeyInfo keyInfo;
public String getSolutionId() {
return solutionId;
}
public void setSolutionId(String solutionId) {
this.solutionId = solutionId;
}
public String getGroupCode() {
return groupCode;
}
public void setGroupCode(String groupCode) {
this.groupCode = groupCode;
}
public KeyInfo getKeyInfo() {
return keyInfo;
}
public void setKeyInfo(KeyInfo keyInfo) {
this.keyInfo = keyInfo;
}
}
class KeyInfo {
String customerName;
String orderActionType;
public String getCustomerName() {
return customerName;
}
public void setCustomerName(String customerName) {
this.customerName = customerName;
}
public String getOrderActionType() {
return orderActionType;
}
public void setOrderActionType(String orderActionType) {
this.orderActionType = orderActionType;
}
}
使用Gson 庫
class Pojo {
@Override
public String toString() {
return "Pojo [name=" + name + ", value=" + value + "]";
}
private String name;
private List<Value> value;
}
class Value {
private String name;
private String value;
@Override
public String toString() {
return "Value [name=" + name + ", value=" + value + "]";
}
}
String json = "{\"name\": \"hierarchy\",\"value\": [ { \"name\": \"solutionid\", \"value\": \"String\" },"
+ " { \"name\": \"groupcode\", \"value\": \"String\" }, { \"name\": \"dealhashid\", \"value\": \"String\""
+ " }, { \"name\": \"keyinfo_customername\", \"value\": \"String\" }, { \"name\": \"keyinfo_prequalificationnumber\","
+ " \"value\": \"String\" }, { \"name\": \"keyinfo_orderactiontype\", \"value\": \"String\" }]}";
Gson g = new Gson();
Pojo p = g.fromJson(json, Pojo.class);
System.out.println(p);
String json = "{\"name\": \"hierarchy\",\"value\": [ { \"name\": \"solutionid\", \"value\": \"String\" },"
+ " { \"name\": \"groupcode\", \"value\": \"String\" }, { \"name\": \"dealhashid\", \"value\": \"String\""
+ " }, { \"name\": \"keyinfo_customername\", \"value\": \"String\" }, { \"name\": \"keyinfo_prequalificationnumber\","
+ " \"value\": \"String\" }, { \"name\": \"keyinfo_orderactiontype\", \"value\": \"String\" }]}";
Gson g = new Gson();
JsonObject p = g.fromJson(json, JsonObject.class);
System.out.println(p.get("name"));
System.out.println(p.get("value"));
現在您可以使用名稱和值...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.