首页 > 解决方案 > 如何让 Flurl 忽略 JSON 劫持预防

问题描述

我正在尝试使用 Flurl 使用 JSON API

如果我使用.GetStringAsync()API 返回如下:

{} && {identifier:'ID', label:'As at 15-11-2018 6:25 PM',items:[...]}

但是,当我尝试.GetJsonAsync<MyObj>()所有属性时null,我假设是因为{} &&.

有什么方法可以强制 Flurl 忽略这一点并使用实际的 JSON 数据,还是我必须使用.GetStringAsync()、手动删除{} &&和反序列化?

标签: c#.netjsonjson-deserializationflurl

解决方案


看起来 Flurl 没有内置的方法可以做到这一点,所以我的解决方法是使用 Flurl 的字符串方法,操作字符串,然后使用 Newtonsoft 反序列化:

var response = await url.GetStringAsync();

if (!string.IsNullOrEmpty(response))
{
    response = response.Replace("{}&&", "");

    var feed = JsonConvert.DeserializeObject<MyObj>(response);

    ...do stuff...

}

推荐阅读