Cannot access child value on Newtonsoft.Json.Linq.JProperty

Go To StackoverFlow.com

2

I am trying to parse the json values from the following stream:

{"id": "tag:search.xxxxx.com,2005:xxxxxxxxxxx"}
{"body": "acordei (:"}
{"verb": "post"}
{"link": "http://xxxxx.com/rohanaf_/xxxxxxxxxx/xxxxxxxxx"}
{"generator": {
  "link": "http://xxxxx.com",
  "displayName": "web"
}}
{"postedTime": "2012-03-31T19:23:51.000Z"}
{"provider": {
  "link": "http://www.xxxxx.com",
  "displayName": "xxxxxx",
  "objectType": "service"
}}
{"object": {
  "summary": "acordei (:",
  "id": "object:search.xxxxxx.com,2005:xxxxxxxxxxxx",
  "link": "http://xxxxxxx.com/rohanaf_/statuses/xxxxxxxxxxxx",
  "postedTime": "2012-03-31T19:23:51.000Z",
  "objectType": "note"
}}
{"actor": {
  "summary": "- namorada da @srtameiga fim. ♥",
  "twitterTimeZone": "Brasilia",
  "friendsCount": 197,
  "location": {
  "displayName": "Porto Alegre ",
  "objectType": "place"
},
"link": "http://www.xxxxxxxxxx.com/rohanaf_",
"postedTime": "2010-03-31T20:12:49.000Z",
"image": "http://a0.twimg.com/profile_images/xxxxxxxxxxx/Foto1436_normal.jpg",
"links": [
   {
    "rel": "me",
    "href": null
   }
 ],
 "listedCount": 3,
 "id": "id:xxxxxxxxxxx.com:xxxxxxxxx",
 "languages": [
  "pt"
],
"utcOffset": "-10800",
"followersCount": 347,
"preferredUsername": "rohanaf_",
"displayName": ", feia  ;$",
"statusesCount": 48412,
"objectType": "person"
}}
{
 "xxxxxx_entities": {
 "urls": [],
 "hashtags": [],
 "user_mentions": []
}}
{"objectType": "activity"}
{"source": {
 "language": {
 "value": "fr"
},
 "matching_rules": [
 {
  "value": "lang:fr",
  "tag": null
}
],
}}

I tried the following options using JSON.NET and works mostly but missing a couple of fields (source: and all its children including their children). ("source")("matching_rules")("tag") ..etc

Dim results as List(Of JToken) = jobj.Children().ToList
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("displayName").ToString
    End If 
    If item.name="source" then
        Dim gList as IList(Of JToken)= item("matching_rules").Children.ToList
    End If 
Next

I am trying to get all the children values for that property name source. Now if I use JsonTextReader I can read through everything but this is tedious and prone to errors. Any suggestions appreciated.

2012-04-04 18:09
by vbNewbie


4

I figured it out

If item.name = "source" then
    searchterm = item.last.selecttoken("matching_rules").first.item("value").tostring
End if
2012-04-09 18:04
by vbNewbie
Ads