यहां JSON फ़ाइल के संदर्भ में: https://docs। google.com/document/d/14mTDpmR_Qu8UXz-bMxddEfL0AcB60T_S8N8MDTMYf5U/edit?usp=sharing

मैं परियोजनाओं सरणी को पढ़ने की कोशिश कर रहा हूं, लेकिन यह लंबाई 0 के रूप में देता है। लेकिन सरणी में मान हैं।

मेरा कोड निम्नलिखित है:

JSONObject json = new JSONObject(IOUtils.toString(new URL("JSONFile URL Here"), Charset.forName("ISO-8859-2")));
            JSONArray jsonArray = json.getJSONArray("projects");
            System.out.println(jsonArray.length());

लेकिन जब मैं JSON फ़ाइल को ऑनलाइन JSON रीडर पर पोस्ट करता हूं और स्टोर करता हूं और उससे पढ़ता हूं, तो वह पढ़ सकता है। इसलिए मैं अनुमान लगा रहा हूं कि मैं पात्रों से ठीक से नहीं बच रहा हूं। क्या कोई इस फाइल को पढ़ने में मेरी मदद कर सकता है?

-1
wishman 5 अक्टूबर 2018, 09:21

3 जवाब

सबसे बढ़िया उत्तर

मैं जिरा एपीआई तक पहुंच रहा था, और चूंकि मैंने प्रमाणित नहीं किया है, मुझे एक खाली JSON स्ट्रिंग मिली है। इसका भागने के पात्रों से कोई लेना-देना नहीं था।

1
wishman 5 अक्टूबर 2018, 13:02

क्या आप इसके साथ प्रयास कर सकते हैं;

InputStream is = new URL("your url").openStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
JSONObject json = new JSONObject(readJsonFile(bufferedReader));
JSONArray jsonArray = json.getJSONArray("projects");
System.out.println(jsonArray.length());

और आपकी readJsonFile विधि इस तरह होनी चाहिए;

private String readJsonFile(Reader reader) throws IOException {
    StringBuilder sb = new StringBuilder();
    int cp;
    while ((cp = reader.read()) != -1) {
        sb.append((char) cp);
    }
    return sb.toString();
}
1
drowny 5 अक्टूबर 2018, 10:01

fastjson ऐसा लगता है जो आपको चाहिए:

JSONObject jsonObject = JSON.parseObject("you json string");
JSONArray jsonArray = jsonObject.getJSONArray("projects");
System.out.println(jsonArray.size());
-2
Markus W Mahlberg 6 अक्टूबर 2018, 15:36