首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反序列化Json遇到的URL更改

反序列化Json遇到的URL更改
EN

Stack Overflow用户
提问于 2014-07-15 10:07:43
回答 1查看 352关注 0票数 1

我有一个Json字符串返回由facebook,我想把它转换成一个对象,我尝试使用牛顿Json和JavaScriptSerializer。

代码语言:javascript
复制
https://graph.facebook.com/v1.0/1111111111111/comments?limit=25&after=NTA\u00253D

将其转换为强类型对象或动态对象后,url将更改为

代码语言:javascript
复制
https://graph.facebook.com/v1.0/1111111111111/comments?limit=25&after=NTA%3D

造成这个问题的原因是什么?

我已经尝试过url编码和解码,但它没有工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-15 14:50:12

在JSON中,任何字符都可以用unicode转义序列表示,该序列被定义为\u,后面是4个十六进制数字(参见JSON.org)。当反序列化JSON时,每个转义序列都被实际的unicode字符替换。如果运行以下示例程序,您可以自己看到这一点:

代码语言:javascript
复制
class Program
{
    static void Main(string[] args)
    {
        string json = @"{ ""Test"" : ""\u0048\u0065\u006c\u006c\u006f"" }";
        Foo foo = JsonConvert.DeserializeObject<Foo>(json);
        Console.WriteLine(foo.Test);
    }
}

class Foo
{
    public string Test { get; set; }
}

输出:

代码语言:javascript
复制
Hello

在您的示例URL中,\u0025表示%字符。所以这两个URL实际上是等价的。这里没有问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24755407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档