मेरे पास एक स्ट्रिंग है जो जेसन प्रारूप में है, केवल कुंजियों या मूल्यों में से कोई भी उद्धरण से घिरा हुआ नहीं है।मानचित्र में उद्धरण के बिना जेसन स्ट्रिंग को कनवर्ट करें
Map<String, Object> friend1Map = new HashMap<>();
friend1Map.put("name", "Dan");
friend1Map.put("age", 23);
Map<String, Object> friend2Map = new Hashmap<>();
friend2Map.put("name", "Zane");
friend2Map.put("age", 24);
Map<String, Object> newMap = new HashMap<>();
newMap.put("name", "Bob");
newMap.put("state", "Colorado");
newMap.put("Friends", Arrays.asList(friend1Map, friend2Map));
मैं कोशिश की है निम्नलिखित दो तरीकों:
ObjectMapper mapper = new ObjectMapper();
mapper.readValue(json, new TypeReference<Map<String, Object>>() {});
हो जाएगा ताकि
String json = "{name: Bob, state: Colorado, Friends: [{ name: Dan, age: 23 }, {name: Zane, age: 24 }]}"
मैं इस एक नक्शा है कि इतनी की तरह लग रहा बनना चाहते हैं: उदाहरण के लिए, मैं इस राशि एक त्रुटि फेंक, कह रही है:
Unexpected character ('n'): was expecting double-quote to start field name
तब मैं नक्शाकार की config बदल रहा है की कोशिश की:
mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
mapper.readValue(json, new TypeReference<Map<String, Object>>() {});
लेकिन यह कह एक त्रुटि फेंक दिया:
com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'Bob': was expecting ('true', 'false' or 'null')
at [Source: {name: Bob, state: Colorado, Friends: [{ name: Dan, age: 23 }, {name: Zane, age: 24 }]}; line: 1, column: 11]
वहाँ जब उद्धरण json स्ट्रिंग में शामिल नहीं हैं इस मानचित्र होने का कोई तरीका है?
आपका जेसन स्ट्रिंग अमान्य है, इसे यहां जांचें: http://jsonlint.com –
कैसा है? और स्पष्ट रूप से इस टिप्पणी को – user2869231
जोड़ने के लिए 15 वर्णों की आवश्यकता है या इसके बजाय, मैं इसे वैध कैसे बनाऊंगा? स्पष्ट रूप से मुद्दा उद्धरण नहीं है। क्या मुझे कुछ बुरा विभाजन करना होगा? – user2869231