2013-05-28 13 views
7

mam JSON ciąg jak poniżejJak usunąć określony atrybut z JSON ciąg przy użyciu C#

[{ 
     "attachments": [{ "comment": "communication", "comment_date_time": "2035826"} ], 
     "spent_hours": "4.00", 
     "description": ""  
    }, 
    { 
     "attachments": [], 
     "spent_hours": "4.00", 
     "description": ""  
    }] 

Jak można usunąć atrybut z ciągiem JSON przy użyciu C# attachments. Używam JSON.net.

+0

spróbuje użyć Newtonsoft.JSON konwertować JSON .NET do obiektów, a następnie można go łatwo usunąć –

+1

spróbować => http: //james.newtonking.com/pages/json-net.aspx –

+0

myślę, że można zrobić tak jak to opisano w http://stackoverflow.com/a/32153051 –

Odpowiedz

18

użyciu LINQ

var jArr = JArray.Parse(json); 

jArr.Descendants().OfType<JProperty>() 
        .Where(p => p.Name == "attachments") 
        .ToList() 
        .ForEach(att=>att.Remove()); 

var newJson = jArr.ToString(); 

lub za pomocą anonimowych klas

var anon = new[] { new{spent_hours="", description=""} }; 
var newJson = JsonConvert.SerializeObject(
         JsonConvert.DeserializeAnonymousType(json, anon)); 
+0

działa perfect (LINQ) ... –

+1

@IrappaBisanakoppa następnie http://meta.stackexchange.com/questions/5234/how -dla-akceptuje-odpowiedź-praca – I4V

Powiązane problemy