Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的JSON名值对解析_Java_Json - Fatal编程技术网

Java中的JSON名值对解析

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

我有以下JSON结构,我想将其解析为Java对象。是否有我可以使用的现有库,或者我应该编写自定义代码进行解析。下面是示例json结构和java类

JSON:

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;
    }
}
使用

  • 定义Pojo

  • 无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"));