我的数据来自:
<table style="width:40%">
<tr>
<th>52</th><th>18</th><th>140</th><th>41</th><th>56</th>
</tr>
<tr>
<th>54</th><th>18</th><th>145</th><th>43</th><th>58</th>
</tr>
</table>
已作为路径中的动态参数接收到。
我想将其转换为[
{
"cifId": 735960120
},
{
"cifId": 735960121
}
]
的{{1}}。
我尝试了List<string>
中的cifId
和其他各种选项。
以下是以下代码:
JObject
答案 0 :(得分:1)
您可以解析为JArray然后遍历数组:
private static List<string> GetCifIds(dynamic themeParameters)
{
var items = JArray.Parse(themeParameters);
var cifIds = new List<string>();
foreach (var dynamicCif in items)
{
cifIds.Add(dynamicCif.cifId.ToString());
}
return cifIds;
}
如果您的json错误地包装在{}
中,则可以通过将其删除来使其有效。请记住在解析JSON之前先检查它是否有效。要检查json的有效性,请使用json validator。
private static List<string> GetCifIds(dynamic themeParameters)
{
var json = themeParameters.ToString();
var items = JArray.Parse(json.Substring(1, json.Length - 2));
var cifIds = new List<string>();
foreach (var dynamicCif in items)
{
cifIds.Add(dynamicCif.cifId.ToString());
}
return cifIds;
}
答案 1 :(得分:0)
创建这样的类
public class JsonModel
{
public int cifId { get; set; }
}
并将您的json解析为
List<int> cifIdList = new List<int>();
var jsonObj = NewtonSoft.JsonConvert.DeserializeObject<List<JsonModel>>(jsonString);
foreach(var elem in jsonObj){
cifIdList.Add(elem.cifId);
}
您现在可以在列表cifIdList中找到所有ID