【发布时间】:2019-02-16 16:41:46
【问题描述】:
我看到很多关于我正在尝试做的事情的问题和答案,但在阅读了答案后,我无法从这个 json 中获得关键和价值。
这是返回的 json:
{
"@odata.context": "https://con813-crm612cf723bbf35af6devaos.cloudax.dynamics.com/data/$metadata#Customers(CustomerAccount,Name)",
"value": [
{
"@odata.etag": "W/\"JzAsMjI1NjU0MjE1NTg7MCwwOzAsNTYzNzE0NTMyODswLDU2MzcxNDQ1NzY7MCwyMjU2NTQyNTY5MzswLDIyNTY1NDI3MjM2OzAsMDswLDIyNTY1NDI3MjM2OzAsMjI1NjU0MjcyMzY7MCwwJw==\"",
"CustomerAccount": "DE-001",
"Name": "Contoso Europe"
},
{
"@odata.etag": "W/\"JzAsMjI1NjU0MjE1NTk7MCwwOzAsMzU2MzcxNDkxMTI7MCw1NjM3MTQ0NTc3OzAsMjI1NjU0MjU2OTQ7MCwyMjU2NTQyNzIzODswLDA7MCwyMjU2NTQyNzIzODswLDIyNTY1NDI3MjM4OzAsMCc=\"",
"CustomerAccount": "US-001",
"Name": "Contoso Retail San Diego"
},
{
"@odata.etag": "W/\"JzAsMjI1NjU0MjE1NjA7MCwwOzAsMzU2MzcxNDkxMTM7MCw1NjM3MTQ0NTc4OzAsMjI1NjU0MjU2OTU7MCwyMjU2NTQyNzI0MDswLDA7MCwyMjU2NTQyNzI0MDswLDIyNTY1NDI3MjQwOzAsMCc=\"",
"CustomerAccount": "US-002",
"Name": "Contoso Retail Los Angeles"
}
]
}
我需要获取键的名称,在本例中为“CustomerAccount”和“Name”,然后是它们的值。我想不出只返回这些值。
JObject parsedJson = JObject.Parse(_json);
StringBuilder builder = new StringBuilder();
foreach (JProperty property in parsedJson.Properties())
{
builder.Append((string.Format("Name: [{0}], Value: [{1}].", property.Name, property.Value)));
}
希望增加更多的清晰度;在此示例中,我想在“@odata.etag”之后写出键/值,其中键是“CustomerAccount”和“Name”,它们的值在冒号之后。键/值是动态的,所以我需要循环写出每个“@odata.etag”值之后的键名和值。
【问题讨论】:
-
"我不知道只返回这些值" 你到底想返回什么以及如何返回?您只想返回 StringBuilder 中构建的字符串吗?构建字符串本身是问题吗?还是问题不在于构建字符串本身,而在于如何返回构建的字符串?