Mam metodę, która akceptuje klucz i wartość. Obie zmienne mogą mieć treść dynamiczną.Serialize danych do łańcucha json z dynamicznymi nazwami właściwości
key => jest ciągiem dynamicznym, który może być wszystkim, np. "LastSentDate"
value => jest obiektem, który może być wszystkim, np. "2014-10-10"
Ponieważ kluczem jest wartość dynamiczna, taka jak "LastSentDate" lub jakikolwiek klucz jest przekazywany do metody, to chcę, aby właściwość json była wartością klucza, a nie samego klucza.
public void SetRowVariable(string key, object value)
{
var obj = new { key = value }; // key property is literally taken maybe anonym object is not a good idea?
string jsonString = JsonConvert.SerializeObject(obj);
// jsonString should have that output => "{ "LastSentDate": "2014-10-10" }"
}
Jak mam serializować obiekt, który otrzymuję na życzenie?
musi być również możliwe, że "klucz" nieruchomość może zawierać znaków specjalnych takich jak "!" § $% & /() = "`
Używam .NET 3.5 smutkiem.
Po wypróbowaniu pewnych rzeczy, takich jak AddOrUpdate zachowanie JObject, muszę powiedzieć, że twoja wskazówka jest naprawdę dobra, całkowicie pasuje do tego, co próbowałem: – Pascal
@Pascal: Cieszę się, że mogę pomóc! –
@AndrewWhitaker: Twoje rozwiązanie to także świetne podejście do serializacji obiektu z dołączonym elementem głównym: 'obj [value.GetType(). Name] = JToken.FromObject (value);' – alexg