JSON到C#中的数组

我有一个生成 JSON 格式的程序。我想要做的是将 json 结果存储到 C# 中的数组中。


从 API 接收的 json:


var strResponseContent = await response.Content.ReadAsStringAsync();

Result.Text = strResponseContent.ToString(); **<-- this is working fine**

这是json的外观:


{

    "query": "banana",

    "topScoringIntent": {

        "intent": "banana",

        "score": 0.9086001

    },

    "intents": [{

            "intent": "banana",

            "score": 0.9086001

        }, {

            "intent": "bananania",

            "score": 0.559515059

        }

    ]

}

并将json存储到数组中。这是结构:


public class Intents

    {

        public List<Intent> intents { get; set; }

    }


    public class Intent

    {

        public string intent { get; set; }

        public int score { get; set; }

    }

最后,要转换,我使用反序列化对象


Intents intents = JsonConvert.DeserializeObject<Intent>(strResponseContent);

但是,在存储到 json 期间,错误就像“不能隐式地将类型 Intent 转换为 Intents”


我的错误是什么?如何纠正它?


小唯快跑啊
浏览 356回答 2
2回答

繁星点点滴滴

有两件事首先 score 不是有效的 int ......所以,尝试将 int 更改为 Decimal。第二次尝试这样做:Intents&nbsp;intents&nbsp;=&nbsp;JsonConvert.DeserializeObject<Intents>(strResponseContent);

Cats萌萌

您将分数定义为整数&nbsp;public&nbsp;int&nbsp;score&nbsp;{&nbsp;get;&nbsp;set;&nbsp;}但分数不是整数。将其更改为双精度或十进制将修复它。
打开App,查看更多内容
随时随地看视频慕课网APP