क्या किसी के पास JSON दस्तावेज़ को XLS/CSV फ़ाइल में कनवर्ट करने के लिए कोई नमूना जावा कोड है? मैंने Google पर खोजने की कोशिश की है लेकिन इसका कोई फायदा नहीं हुआ है।जावा में JSON से XLS/CSV को कनवर्ट करना
उत्तर
एक JSON दस्तावेज़ मूल रूप से सूचियों और शब्दकोशों के होते हैं। एक द्वि-आयामी तालिका पर इस तरह के डेटास्ट्रक्चर को मैप करने का कोई स्पष्ट तरीका नहीं है।
यदि JSON फ़ाइल एक फ्लैट सरणी है, तो सभी ऑब्जेक्ट्स के समान फ़ील्ड नाम होते हैं, तो इसे दो आयामी तालिका में मैप किया जा सकता है। @ श्रीधर के उदाहरण इनपुट देखें। –
आप सीएसवी प्रारूप में कनवर्ट करने के लिए कॉमन्स सीएसवी का उपयोग कर सकते हैं। या एक्सएलएस में कनवर्ट करने के लिए पीओआई का उपयोग करें। यदि आपको एक्सएलएस में परिवर्तित करने के लिए सहायक की आवश्यकता है, तो आप jxls का उपयोग कर सकते हैं, यह जावा बीन (या सूची) को अभिव्यक्ति भाषा के साथ एक्सेल में परिवर्तित कर सकता है।
असल में, जेसन डॉक शायद एक जेसन सरणी है, है ना? तो यह वही होगा। नतीजा सूची होगी, और आप केवल उस संपत्ति को लिखते हैं जिसे आप एक्सेल प्रारूप में प्रदर्शित करना चाहते हैं जो jxls द्वारा पढ़ा जाएगा। http://jxls.sourceforge.net/reference/collections.html
यदि समस्या यह है कि जेसन को एक्सेल संपत्ति में जेसन नहीं पढ़ा जा सकता है, तो इसे पहले जावा बीन के संग्रह में क्रमबद्ध करें।
आप '{' foo ': {' bar ': [1, 2, 3]}}' को स्प्रेडशीट पर कैसे मैप करेंगे? –
यही कारण है कि मैंने कहा, यदि जेसन ऑब्जेक्ट जेसन एकल ऑब्जेक्ट है, जेसन सरणी नहीं है, तो परिणाम स्प्रेडशीट में 1 पंक्ति होगी। यदि जेसन ऑब्जेक्ट जेसन सरणी है, तो पंक्तियां जेसन सरणी आकार के साथ समान होंगी। और 1 फिर, आपको यह निर्दिष्ट करना होगा कि आप उस स्प्रेडशीट में किस संपत्ति को लिखना चाहते हैं। यदि आपका उदाहरण है, यदि आप बार (जो मान सरणी है) प्रदर्शित करना चाहते हैं, तो कॉलम शायद [email protected] प्रदर्शित होगा, लेकिन यह एक सरणी है, ठीक है। लेकिन अगर वस्तु है [{name: 'a', 'bar': [1,2,3]}, {name: 'b', 'bar': [2,3,4]}], और आप चाहते हैं केवल नाम प्रदर्शित करने के लिए, यह व्यवहार्य है, है ना? – Jef
आप केवल एक JSON सरणी को CSV फ़ाइल में परिवर्तित कर सकते हैं।
कहना चलें, तो आपको निम्न की तरह एक JSON है:
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.json.CDL;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class JSON2CSV {
public static void main(String myHelpers[]){
String jsonString = "{\"infile\": [{\"field1\": 11,\"field2\": 12,\"field3\": 13},{\"field1\": 21,\"field2\": 22,\"field3\": 23},{\"field1\": 31,\"field2\": 32,\"field3\": 33}]}";
JSONObject output;
try {
output = new JSONObject(jsonString);
JSONArray docs = output.getJSONArray("infile");
File file=new File("/tmp2/fromJSON.csv");
String csv = CDL.toString(docs);
FileUtils.writeStringToFile(file, csv);
} catch (JSONException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
अब तुम मिल गया JSON से CSV उत्पन्न:
{"infile": [{"field1": 11,"field2": 12,"field3": 13},
{"field1": 21,"field2": 22,"field3": 23},
{"field1": 31,"field2": 32,"field3": 33}]}
परिवर्तित यह करने के लिए csv के लिए कोड देखते हैं।
यह इस तरह दिखना चाहिए:
field1,field2,field3
11,22,33
21,22,23
31,32,33
Maven निर्भरता था, जैसे
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20090211</version>
</dependency>
इस कोड के लिए धन्यवाद लेकिन मैं जावा में नया हूं और इसे काम करने में समस्या है। 'जेसनआउट' और 'प्रतिक्रिया' चर परिभाषित नहीं हैं। कोई उपाय? एक बार फिर धन्यवाद! – hhh
FileUtils.writeStringToFile (फ़ाइल, सीएसवी); –
को बहिष्कृत किया गया है org.json.CDL का उपयोग करने का एक और तरीका है? मुझे लगता है कि उस वर्ग को मेरे एंड्रॉइड प्रोजेक्ट में आयात करने में सक्षम नहीं है – keinabel
- 1. सीएसवी/एक्सएलएस से JSON में कनवर्ट करना?
- 2. यूआरएल को JSON संस्करण में कनवर्ट करना?
- 3. एक्सएमएल को जावा ऑब्जेक्ट्स में कनवर्ट करना
- 4. जावा को आईओएस में कनवर्ट करना
- 5. रूबी में .json से .csv कनवर्ट करें
- 6. एक स्ट्रिंग को JSON ऑब्जेक्ट में कनवर्ट करना
- 7. एक jjango ValuesQuerySet को एक json ऑब्जेक्ट में कनवर्ट करना
- 8. जावा में डबल से फ्लोट में कनवर्ट करना
- 9. कनवर्ट करना .jks से p12
- 10. जावा में लंबे [64] से बाइट [512] कनवर्ट करना?
- 11. एंड्रॉइड ऐप को जावा डेस्कटॉप ऐप में कनवर्ट करना
- 12. HTTP अनुरोध बॉडी को जावा में JSON ऑब्जेक्ट में कनवर्ट करने के लिए कैसे करें
- 13. JSON सरणी को पायथन सूची में कनवर्ट करें
- 14. लैंडस्केप से पोर्ट्रेट में दृश्य कनवर्ट करना?
- 15. mod_python से mod_wsgi में कनवर्ट करना
- 16. जावा: बाइटबफर और उससे संबंधित समस्याओं से स्ट्रिंग कनवर्ट करना
- 17. इंटीजर से बिगइन्टर में कनवर्ट करना
- 18. पायथन: टुपल से स्ट्रिंग में कनवर्ट करना?
- 19. एक रंग से ब्रश में कनवर्ट करना
- 20. java.util.HashMap को scala.collection.immutable में कनवर्ट करें। जावा
- 21. फॉर्म डेटा को JSON ऑब्जेक्ट में कनवर्ट करें
- 22. डेटाटाइम को POSIX समय में कनवर्ट करना
- 23. एक TreeSet को ArrayList में कनवर्ट करना?
- 24. लिंक को XSLT में कनवर्ट करना
- 25. सी # - यूट को बाइट में कनवर्ट करना []
- 26. जिफियों को मिली सेकंड में कनवर्ट करना
- 27. सी #: स्ट्रिंग को एसबीईटी में कनवर्ट करना *
- 28. JSONArray से स्ट्रिंग में कनवर्ट करना फिर वापस
- 29. पीडीएफ को स्वचालित रूप से छवियों में कनवर्ट करना
- 30. शब्द दस्तावेज़ से छवियों को बिटमैप ऑब्जेक्ट में कनवर्ट करना
देखें मैट न्यूयॉर्क के जवाब यहाँ: http://stackoverflow.com/questions/662859/convert-csv -xls-to-json – JMax
वह जेसन से सीएसवी के लिए पूछ रहा है ... अन्य तरीकों से नहीं। –