2016-04-25 8 views
6

में JSON स्ट्रिंग सरणी मैं एक वेब सेवा है कि केवल स्ट्रिंग की एक सूची स्ट्रिंग की एक सूची, रिटर्न है:जावा स्ट्रिंग सूची

["string1","string2","string3"] 

मैं कैसे जावा में एक ArrayList<String> में इस परिवर्तित कर सकते हैं? मैं जैक्सन का उपयोग करने की कोशिश कर रहा हूं क्योंकि मुझे पता है कि आप जेसन को इसके साथ ऑब्जेक्ट्स में परिवर्तित कर सकते हैं, लेकिन मुझे इस तरह के मामले का उदाहरण नहीं मिल रहा है।

+0

आप तो यह –

+1

@ sᴜʀᴇsʜᴀᴛᴛᴀ के लिए एक जैक्सन की जरूरत नहीं है कैसे, क्या मैं इसे मूल रूप से करूँगा? –

उत्तर

5

किसी और ने इस आवश्यकता हो सकती है के लिए:

String jsonString = "[\"string1\",\"string2\",\"string3\"]"; 
ObjectMapper mapper = new ObjectMapper(); 
List<String> strings = mapper.readValue(jsonString, List.class); 
0

यह अजीब है, लेकिन वहाँ सूची में नए JSONArray (stringWithJSONArray) से एक सीधा परिवर्तन है। कम से कम मैं इस तरह करने में सक्षम था:

public List<String> method(String data) { 
    return new JSONArray(data); 
} 
1

ryzhman के रूप में कहा, आप एक सूची के लिए यह कास्ट करने के लिए सक्षम हैं, लेकिन केवल वस्तु (ryzhman के मामले में JSONArray) की ArrayList वर्ग फैली हुई है। आपको इसके लिए एक संपूर्ण विधि की आवश्यकता नहीं है। आप बस कर सकते हैं:

List<String> listOfStrings = new JSONArray(data); 

या आप उपयोग कर रहे हैं आईबीएम की JSONArray (com.ibm.json.java.JSONArray):

List<String> listOfStrings = (JSONArray) jsonObject.get("key"); 
संबंधित मुद्दे