牛顿JSON将Json转换为列表

时间:2016-06-02 16:04:57

标签: c# json.net

我已经看过SO的一些例子了。我按照他们的例子,但我不确定为什么我的工作没有。

以下是代码:

In [269]: parser=argparse.ArgumentParser()

In [270]: def myerror(message):
   .....:     print(message)

In [271]: parser.error=myerror

In [272]: parser.add_argument('foo')
Out[272]: _StoreAction(option_strings=[], dest='foo', nargs=None, const=None, default=None, type=None, choices=None, help=None, metavar=None)

In [273]: parser.parse_args([])
the following arguments are required: foo
Out[273]: Namespace(foo=None)

Debug告诉我JSON(变量内容)如下所示:

  

[" {\" eventPK \":\" 321-0321 \" \" picturePK \":\&# 34; 019-5903 \"}"" {\" eventPK \":\" 203-1234 \" \&# 34; picturePK \":\" 013-2034 \"}"]

我添加了一个try / catch,并给出了以下消息:

  

转换价值时出错" {" eventPK":" 321-0321"," picturePK":" 019-5903" }"键入' learning.FeedRow'。路径' [0]',第1行,第112位。

1 个答案:

答案 0 :(得分:0)

看起来content被解析为一个字符串数组,在[和之前]之后立即看到双引号。

在阅读OP关于string []返回类型的评论后编辑:

NewtonJSON将/不能自动将字符串[]转换为具有两个属性的FeedRow对象。

我会尝试两种选择:
1.更改Web API以返回JSON对象[]而不是字符串[]
2.循环遍历content的字符串(如果它确实是一个字符串[])并使用NewtonJSON将每个字符串转换为FeedRow对象并添加到List。