Aşağıda json verileri içeren bir json dosyası var.java içinde json dosya içeriğini ayrıştırma
[{"id":1025,
"key":"SVS",
"prj_name":"SVS",
"prj_scope":"PR8",
"prj_qualifier":"WW",
"date":"2016-03-29T06:00:26-0400",
"creationDate":"2013-04-12T09:03:35-0400",
"prj_lname":"SVS",
"csr":[{"key":"test_success","test_output":85.3,"org_val":"78.3%"}]}]
Java'da test_output değerini okumak istiyorum. Birkaç json basit api ile denedim. Yazdığım kod aşağıdadır.
StringBuffer sbf = new StringBuffer();
FileReader fileReader = new FileReader("C:/Users/java_backups/Downloads/output.json");
BufferedReader br = new BufferedReader(fileReader);
String line="";
while ((line = br.readLine()) != null) {
sbf.append(line);
}
System.out.println(sbf.toString());
JSONParser jsonParser = new JSONParser();
JSONArray jsonArray= (JSONArray) jsonParser.parse(sbf.toString());
jsonArray boyutu yalnızca bir tanesidir. Ben herhangi bir ipucu yok json stringinden test_output değerini nasıl okuyabilirim. basitlik için Jackson kullanma
java ile java kullanmıyorum, bu yüzden emin değilim, ama benim tahminim senin dizinin sadece 1 elementi var çünkü sadece bir JSON nesnesini ayrıştırıyorsun. Ve bir nesne olduğu için, jsonArray [0] .id, vb. Ile özelliklerine erişebilmeniz gerekir. – NAMS
jsonArray [0] bana tam bir dizge döndürecek ve öğelere adlarına göre erişmenin herhangi bir yolunu göremiyorum. –
JSONParser belgelerine baktığımda, aslında dosyayı doğru şekilde ayrıştırdığınızı düşünmüyorum; hangi paketi kullanıyorsunuz? javax.json.stream? Ya da başka bir yerden harici bir paket mi? – NAMS