[英]How can i make a flat object by removing keys in C#?
我真的不确定这是否可以实现,如何删除对象中的一些嵌套键并使对象非常平坦。 我有一个动态对象如下,
EventData": { "ChangeSet": { "Change": { "changes": [ ] } } }
我想把上面的改成
事件数据": { [] }
这可以在 C# 中实现吗?
使用 NewtonSoft.JSon 包.. 以下代码可以解决问题。 我把它做成了一个字符串数组,因为我不知道你需要什么,但你可以根据自己的喜好改变它。
const string complex = "{\"EventData\": { \"ChangeSet\": { \"Change\": { \"changes\" : [ ]}}}}";
调用方法:
string simple = returnSimpleObject(complex);
public class SerializeData
{
public string[] EventData { get; set; }
}
private static string returnSimpleObject(string Json)
{
JObject jobject = JObject.Parse(Json);
JToken tEventData = jobject.SelectToken("EventData");
SerializeData myEvent = tEventData.ToObject<SerializeData>();
JToken tchanges = jobject.SelectToken("EventData.ChangeSet.Change.changes");
myEvent.EventData = tchanges.ToObject<string[]>();
JsonSerializer serializer = new JsonSerializer();
StringWriter strWrite = new StringWriter();
JsonWriter myWriter = new JsonTextWriter(strWrite);
serializer.Serialize(myWriter, myEvent);
return strWrite.ToString();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.