1
json.net을 사용하여 json을 하나 가지고 있고 내용을 파싱합니다. 먼저 JToken을 사용하여 게시물의 필드를 개체 목록으로 분할 한 다음 각 필드에서 값을 읽습니다. 문제는 이러한 개체 중 일부는 때때로 필드가 있고 때때로 불투명 오류를 방지하는 방법을 모르거나 모르는 경우입니다.json.net 어린이가 있는지 확인하십시오.
가 위치 필드 내 코드에 널 (null) 오류가 발생합니다 사용자 개체에 존재하지 않는 일부 게시물에 이제{"id": "dfdksfjaisdfdsjfksdjdfsdafernd"}
{"body": "test data for parsing"}
{"object": { "summary":"hello test data you trouble maker", "id" :"problem stuff",
"link": "http://testdata.com",
"objecttype": "link"
}}
{"user": { "name": "Joe Somebody", "age":"43", "location": { "name": "outer space"},
}
}
아래 그림과 같이도 언젠가 객체 객체가 같은 다른 형식으로 다음은 JSON의 샘플입니다 다음 :
{"id": "dfdksfjaisdfdsjfksdjdfsdafernd"}
{"body": "test data for parsing"}
{"object": { "object":
{"summary":"hello test data you trouble maker", "id" :"problem stuff",
"link": "http://testdata.com",
"objecttype": "link"
}
}}
{"user": { "name": "Joe Somebody", "age":"43",
}
}
이제 다음 내 코드 인 것처럼 : 위치와 객체가 다른 경우
가
Dim results As List(Of JToken) = jobj.Children().ToList
If results.Count = 0 Then
Exit Sub
End If
For Each item As JProperty In results
item.CreateReader()
If item.Name = "id" Then
id = item.Value
End If
If item.Name = "actor" Then
author = item.Value("name").ToString
location = item.Value("location").Item("name").ToString
age = item.Value("age").ToString
End If
If item.Name = "object" Then
htext = item.Value("summary").ToString
csubject = item.Value("objectType").ToString
End If
Next
그런 다음이 코드가 작동하지 않습니다. 그래서 어떻게 위치 필드가 존재하는지 그리고 오브젝트 경로가 요약 필드 이전의 다른 오브젝트와 다른지를 점검 할 수 있습니다.
편집 :
If Not item.Value("location") Is Nothing Then
bla bla bla
와 객체의 같은 : 나는
확인If Not item.Value("location") Is Nothing Then
bla bla bla
여전히 뭔가를 위해 null 오류를 얻는 완전히 작동하지 않았다. – vbNewbie