Tôi đã dành phần tốt nhất trong hai ngày để "tập trung" vào các mẫu mã, v.v., cố gắng đọc một tệp JSON rất lớn thành một mảng trong c # để sau đó tôi có thể chia nó thành một mảng 2d để xử lý.
Vấn đề tôi gặp phải là tôi không thể tìm thấy bất kỳ ví dụ nào về những người đang làm những gì tôi đang cố gắng làm. Điều này có nghĩa là tôi chỉ chỉnh sửa mã một chút hy vọng điều tốt nhất.
Tôi đã quản lý để có được một cái gì đó làm việc sẽ:
- Đọc tệp Bỏ qua các tiêu đề và chỉ đọc các giá trị thành mảng.
- Đặt một lượng giá trị nhất định trên mỗi dòng của một mảng. (Vì vậy, sau này tôi có thể chia nó thành một mảng 2d)
Điều này đã được thực hiện với mã bên dưới nhưng nó bị sập chương trình sau khi nhập một vài dòng vào mảng. Điều này có thể phải làm với kích thước tập tin.
// 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;
}
}
}
Một đoạn của JSON tôi đang làm việc là:
[
{ "millis": "1000",
"stamp": "1273010254",
"datetime": "2010/5/4 21:57:34",
"light": "333",
"temp": "78.32",
"vcc": "3.54" },
]
Tôi cần các giá trị của JSON này. Ví dụ: tôi cần "3.54", nhưng tôi không muốn nó in "vcc".
Tôi hy vọng ai đó có thể chỉ cho tôi cách đọc tệp JSON và chỉ trích xuất dữ liệu tôi cần và đặt nó vào một mảng hoặc thứ gì đó mà tôi có thể sử dụng để sau đó đưa vào một mảng.