我已经看到了一些关于SO的例子。我遵循了他们的例子,但我不确定为什么我的不起作用。
这是代码:
private void convertData()
{
//Business logic...
List<FeedRow> feed = JsonConvert.DeserializeObject <List<FeedRow>> (content);
}
public class FeedRow
{
public string eventPK { get; set;}
public string picturePK { get; set;}
}
调试显示 JSON(变量内容)如下所示:
["{\"eventPK\":\"321-0321\",\"picturePK\":\"019-5903\"}","{\"eventPK\":\"203-1234\",\"picturePK\":\"013-2034\"}"]
我添加了一个尝试/捕获,并给出了以下消息:
将值"{"eventPK":"321-0321","picturePK":"019-5903"}"转换为键入"学习"时出错。喂食行'。路径"[0]",第 1 行,位置 112。
content
被解析为字符串数组,请参阅紧接在 [ 和之前] 之后的双引号。
阅读 OP 关于 string[] 返回类型的注释后编辑:
NewtonJSON 不会/不能自动将字符串 [] 转换为具有两个属性的 FeedRow 对象。
我会尝试的两个选项是:
1. 更改 Web API 以返回 JSON 对象 [] 而不是字符串 []
2. 遍历content
字符串(如果确实是字符串[]),并使用 NewtonJSON 将每个字符串转换为 FeedRow 对象并添加到列表中。