我有以下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;
}
}
答案 0 :(得分:1)
使用Gson lib
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"));
现在您可以使用名称和值...