Java中的JSON名值对解析
我有以下JSON结构,我想将其解析为Java对象。是否有我可以使用的现有库,或者我应该编写自定义代码进行解析。下面是示例json结构和java类 JSON: Java对象:Java中的JSON名值对解析,java,json,Java,Json,我有以下JSON结构,我想将其解析为Java对象。是否有我可以使用的现有库,或者我应该编写自定义代码进行解析。下面是示例json结构和java类 JSON: Java对象: class Hierarchy { String solutionId; String groupCode; KeyInfo keyInfo; public String getSolutionId() { return solutionId; } publ
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;
}
}
使用
无Pojo编辑:
现在,您可以使用名称和值…要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题对于堆栈溢出来说都是离题的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决问题所做的工作。请参考此链接。非常好的例子第五个是给你们的。看一看,这是离题的,但作为线索,谷歌杰克逊或GSON,但我应该写自定义代码,从Pojo转换到层次类。。我想避免那样。。
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;
}
}
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"));