2016-12-01 13 views
-2

を使用してJSONのプロパティを追加:私は、最終的なJSONだから基本的に私、この私はこのようになりますいくつかのJSON持っNewtonsoft.Json

{ 
    "staticInfo": { 
     "browser": "Chrome", 
     "browserVersion": "54.0", 
     "packageNumber": "XXX", 
     "user": "user" 
    } 
    , 
    "request": { 
     "server": "E", 
     "steps": { 
      "Step1": { 
       "start": "11/30/2016 20:11:26.494", 
       "end": "11/30/2016 20:11:26.510" 
      } 
      , 
      "Step2": { 
       "start": 1480536689237, 
       "end": 1480536689357 
      } 
      , 
      "Step3": { 
       "start": "Wed, 11/30/2016 20:12:25.229 GMT", 
       "end": "Wed, 11/30/2016 20:12:25.246 GMT" 
      } 
      , 
      "Step4": { 
       "start": "SomeData", 
       "end": "SomeData" 
      } 

     } 
     , 
     "url": "SomeURL", 
     "trackingId": "99809eb5-c36b-4199-83d6-847c7b0489d1:0" 
    }  
} 

のように見えるように、ステップ4を追加しようとしています

{ 
    "staticInfo": { 
     "browser": "Chrome", 
     "browserVersion": "54.0", 
     "packageNumber": "XXX", 
     "user": "user" 
    } 
    , 
    "request": { 
     "server": "E", 
     "steps": { 
      "Step1": { 
       "start": "11/30/2016 20:11:26.494", 
       "end": "11/30/2016 20:11:26.510" 
      } 
      , 
      "Step2": { 
       "start": 1480536689237, 
       "end": 1480536689357 
      } 
      , 
      "Step3": { 
       "start": "Wed, 11/30/2016 20:12:25.229 GMT", 
       "end": "Wed, 11/30/2016 20:12:25.246 GMT" 
      }    
     } 
     , 
     "url": "SomeURL", 
     "trackingId": "99809eb5-c36b-4199-83d6-847c7b0489d1:0" 
    } 
} 

Step4を追加しようとしています。私はNewtonsoft.Jsonを使ってこれを達成しようとしています。私は基本的な文字列の解析を使用してそれを行うことができますが、一貫性のために私はNewtonsoft.Jsonクラスを使いたいと思います。

+0

を使用して、[尋ねます]。重要なフレーズ:「検索と研究」と「あなたがそれを自分で解決することを妨げた困難を説明する」 –

答えて

4

JObjectIDictionaryを実装しているので、あなたが行うことができます。

var jObj = JObject.Parse(json); 
jObj["request"]["steps"]["Step4"] = JToken.FromObject(new { start = "some", end = "somedata" }); 
var newjson = jObj.ToString(Newtonsoft.Json.Formatting.Indented); 

OR読みくださいdynamicキーワード

dynamic jObj = JObject.Parse(json); 
jObj.request.steps.Step4 = JToken.FromObject(new { start = "some", end = "somedata" }); 
var newjson = jObj.ToString(Newtonsoft.Json.Formatting.Indented); 
+0

素敵な観測、率直に言って私は 'IDictionary'の実装について知らなかった – Sid

+0

ありがとうトリックでした – user299967

関連する問題