나는 이틀 동안 코드 샘플 등을 다루면서 "faffing"의 가장 큰 부분을 보냈고, 매우 큰 JSON 파일을 c #의 배열로 읽으려고 시도했다.
내가 겪고있는 문제는 내가하려는 일을하는 사람들의 예를 찾을 수 없다는 것입니다. 이것은 내가 최선을 다하기 위해 코드를 약간 편집하고 있음을 의미했습니다.
나는 다음과 같은 일을 할 수 있었다.
- 파일을 읽습니다. 헤더를 생략하고 값을 배열로만 읽습니다.
- 배열의 각 행에 일정량의 값을 배치하십시오. (따라서 나중에 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 파일을 읽는 방법을 보여주고 필요한 데이터 만 추출하여 배열에 넣거나 나중에 배열에 넣을 때 사용할 수있는 것으로 바라고 있습니다.