[英]Customizing ASP Web API Json serialization by which Action is invoked
[英]Customizing the JSON received from Web API
我需要在Json字符串中再添加一个节点。
以下是我从中读取数据的代码。
var url = "https://xyz_12232_abc/0908978978979.json";
var sys = new WebClient();
var content = sys.DownloadString(url);
我从上面的代码收到以下输出:
{
"2312312312313":
{
"emailId":"abc@gmail.com",
"model":"XYZ001",
"phone":"+654784512547",
"userName":"User1"
},
"23456464512313":
{
"emailId":"abcd@gmail.com",
"model":"XYZ002",
"phone":"+98745114474",
"userName":"User2"
},
"45114512312313":
{
"emailId":"abcde@gmail.com",
"model":"XYZ3",
"phone":"+214784558741",
"userName":"User3"
}
}
但是,我想要这样的输出:
{
"Records": [
{
"UID":"2312312312313":,
"emailId":"abc@gmail.com",
"model":"XYZ001",
"phone":"+654784512547",
"userName":"User1"
},
{
"UID":"23456464512313":,
"emailId":"abcd@gmail.com",
"model":"XYZ002",
"phone":"+98745114474",
"userName":"User2"
},
{
"UID":"45114512312313":,
"emailId":"abcde@gmail.com",
"model":"XYZ3",
"phone":"+214784558741",
"userName":"User3"
}
]
}
现在,如何实现呢?
您可以使用Json.NET将数据按摩到所需的输出中:
var jsonStr = @"..."; // your JSON here
var obj = JsonConvert.DeserializeObject<Dictionary<string, JObject>>(jsonStr);
var formattedObj = new
{
Records = obj.Select(x =>
{
x.Value.AddFirst(new JProperty("UID", x.Key));
return x.Value;
})
};
// serialize back to JSON
var formattedJson = JsonConvert.SerializeObject(formattedObj);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.