मैंने कोड नमूने और आदि के बारे में दो दिनों के "फाफिंग" का सबसे अच्छा हिस्सा बिताया है, एक बहुत बड़ी JSON फ़ाइल को c # में एक सरणी में पढ़ने की कोशिश कर रहा हूं, इसलिए मैं बाद में इसे प्रसंस्करण के लिए 2d सरणी में विभाजित कर सकता हूं।
मुझे जो समस्या हो रही थी, मैं लोगों के किसी भी उदाहरण को नहीं पा रहा था जो मैं करने की कोशिश कर रहा था। इसका मतलब यह था कि मैं सिर्फ कोड को सबसे अच्छे के लिए एक उम्मीद से संपादित कर रहा था।
मैंने कुछ काम करने में कामयाबी हासिल की है:
- फ़ाइल को हेडर से मिस करें और केवल सरणी में मान पढ़ें।
- किसी सरणी की प्रत्येक पंक्ति पर मानों की एक निश्चित मात्रा रखें। (इसलिए मैं बाद में इसे 2d सरणी में डाल सकता हूं)
यह नीचे दिए गए कोड के साथ किया गया था, लेकिन यह कुछ लाइनों को सरणी में दर्ज करने के बाद प्रोग्राम को क्रैश कर देता है। यह फ़ाइल आकार के साथ करना पड़ सकता है।
// If the file extension was a jave file the following
// load method will be use else it will move on to the
// next else if statement
if (fileExtension == ".json")
{
int count = 0;
int count2 = 0;
int inOrOut = 0;
int nRecords=1;
JsonTextReader reader = new JsonTextReader(new StreamReader(txtLoaction.Text));
string[] rawData = new string[5];
while (reader.Read())
{
if (reader.Value != null)
if (inOrOut == 1)
{
if (count == 6)
{
nRecords++;
Array.Resize(ref rawData, nRecords);
//textBox1.Text += "\r\n";
count = 0;
}
rawData[count2] += reader.Value + ","; //+"\r\n"
inOrOut = 0;
count++;
if (count2 == 500)
{
MessageBox.Show(rawData[499]);
}
}
else
{
inOrOut = 1;
}
}
}
मैं जिस JSON के साथ काम कर रहा हूं उसका एक स्निपेट है:
[
{ "millis": "1000",
"stamp": "1273010254",
"datetime": "2010/5/4 21:57:34",
"light": "333",
"temp": "78.32",
"vcc": "3.54" },
]
मुझे इस JSON से मानों की आवश्यकता है। उदाहरण के लिए, मुझे "3.54" चाहिए, लेकिन मैं नहीं चाहूंगा कि यह "vcc" प्रिंट करे।
मुझे उम्मीद है कि कोई मुझे JSON फ़ाइल पढ़ने के लिए दिखा सकता है और केवल उस डेटा को निकाल सकता है जिसकी मुझे ज़रूरत है और इसे किसी सरणी या किसी ऐसी चीज़ में डाल दें जिसका उपयोग मैं बाद में किसी सरणी में करने के लिए कर सकता हूं।