Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.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文件作为以下给定JSON的键值对? { “XML”:{ “版本”:1.0, “编码”:“UTF-8” }, “注释”:“ABC EFG Json”, “pCt”:{ “pCHead”:{ “日期”:“9999-12-31”, “ID”:“12345”, “类型”:“ABC”, “prtList”:[{ “cCType”:“B”, “cReason”:“, “oInd”:10, }], “pNet”:[{ “seType”:“3”, “eDate”:“2016-10-01”, “出厂日期”:“9999-12-31”, }] } } } publicstaticvoidmain(字符串[]args){ JSONParser=新的JSONParser(); System.out.println(“hii”); 试一试{ Object obj=parser.parse(新文件读取器(“D:\\TestJson.txt”); JSONObject JSONObject=(JSONObject)对象; 对象pCt=jsonObject.get(“pCt”); stringauthor=(String)jsonObject.get(“pCHead”); JSONArray companyList=(JSONArray)jsonObject.get(“prtList”); System.out.println(“名称:+pCt”); System.out.println(“\n公司列表:“+作者”); System.out.println(“\n公司列表:”); 迭代器迭代器=companyList.Iterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); } }捕获(例外e){ e、 printStackTrace(); } }_Java - Fatal编程技术网

如何在java中读取JSON文件作为以下给定JSON的键值对? { “XML”:{ “版本”:1.0, “编码”:“UTF-8” }, “注释”:“ABC EFG Json”, “pCt”:{ “pCHead”:{ “日期”:“9999-12-31”, “ID”:“12345”, “类型”:“ABC”, “prtList”:[{ “cCType”:“B”, “cReason”:“, “oInd”:10, }], “pNet”:[{ “seType”:“3”, “eDate”:“2016-10-01”, “出厂日期”:“9999-12-31”, }] } } } publicstaticvoidmain(字符串[]args){ JSONParser=新的JSONParser(); System.out.println(“hii”); 试一试{ Object obj=parser.parse(新文件读取器(“D:\\TestJson.txt”); JSONObject JSONObject=(JSONObject)对象; 对象pCt=jsonObject.get(“pCt”); stringauthor=(String)jsonObject.get(“pCHead”); JSONArray companyList=(JSONArray)jsonObject.get(“prtList”); System.out.println(“名称:+pCt”); System.out.println(“\n公司列表:“+作者”); System.out.println(“\n公司列表:”); 迭代器迭代器=companyList.Iterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); } }捕获(例外e){ e、 printStackTrace(); } }

如何在java中读取JSON文件作为以下给定JSON的键值对? { “XML”:{ “版本”:1.0, “编码”:“UTF-8” }, “注释”:“ABC EFG Json”, “pCt”:{ “pCHead”:{ “日期”:“9999-12-31”, “ID”:“12345”, “类型”:“ABC”, “prtList”:[{ “cCType”:“B”, “cReason”:“, “oInd”:10, }], “pNet”:[{ “seType”:“3”, “eDate”:“2016-10-01”, “出厂日期”:“9999-12-31”, }] } } } publicstaticvoidmain(字符串[]args){ JSONParser=新的JSONParser(); System.out.println(“hii”); 试一试{ Object obj=parser.parse(新文件读取器(“D:\\TestJson.txt”); JSONObject JSONObject=(JSONObject)对象; 对象pCt=jsonObject.get(“pCt”); stringauthor=(String)jsonObject.get(“pCHead”); JSONArray companyList=(JSONArray)jsonObject.get(“prtList”); System.out.println(“名称:+pCt”); System.out.println(“\n公司列表:“+作者”); System.out.println(“\n公司列表:”); 迭代器迭代器=companyList.Iterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); } }捕获(例外e){ e、 printStackTrace(); } },java,Java,根据我不会阅读的JSON,您的解析或多或少是正确的。 唯一的错误是companyList是JSONArray,它的元素是对象类型。您需要从外部将其转换为JSONObject,然后从中取出您的模型 public static void main(String[] args) { JSONParser parser = new JSONParser(); System.out.println("hii"); try { Object obj = parser

根据我不会阅读的JSON,您的解析或多或少是正确的。 唯一的错误是companyList是JSONArray,它的元素是对象类型。您需要从外部将其转换为JSONObject,然后从中取出您的模型

public static void main(String[] args) {

    JSONParser parser = new JSONParser();
    System.out.println("hii");
    try {
        Object obj = parser.parse(new FileReader("D:\\TestJson.txt"));

        JSONObject jsonObject = (JSONObject) obj;
        Object pCt =  jsonObject.get("pCt");
        String author = (String) jsonObject.get("pCHead");
        JSONArray companyList = (JSONArray) jsonObject.get("prtList");

        System.out.println("Name: " + pCt);
        System.out.println("\nCompany List:"+author);
        System.out.println("\nCompany List:");
        Iterator<String> iterator = companyList.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

更正格式并添加更多详细信息
public static void main(String[] args) {

    JSONParser parser = new JSONParser();
    System.out.println("hii");
    try {
        Object obj = parser.parse(new FileReader("D:\\TestJson.txt"));

        JSONObject jsonObject = (JSONObject) obj;
        Object pCt =  jsonObject.get("pCt");
        String author = (String) jsonObject.get("pCHead");
        JSONArray companyList = (JSONArray) jsonObject.get("prtList");

        System.out.println("Name: " + pCt);
        System.out.println("\nCompany List:"+author);
        System.out.println("\nCompany List:");
        Iterator<String> iterator = companyList.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}
//lombok
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Company {
    String cCType;
    String cReason;
    String oInd;
}

//in your main
for(Object o : companyList) {
    JSONObject companyJson = (JSONObject) o;
    Company company = Company.Builder
       .anCompany()
       .withCCType(companyJson.get("cCType"))
       .withCReason(companyJson.get("cReaeson"))
       .withOInd(companyJson.get("oInd"))
       .build();
//do whatever you like with data
}