我有一个Json字符串返回由facebook,我想把它转换成一个对象,我尝试使用牛顿Json和JavaScriptSerializer。
https://graph.facebook.com/v1.0/1111111111111/comments?limit=25&after=NTA\u00253D将其转换为强类型对象或动态对象后,url将更改为
https://graph.facebook.com/v1.0/1111111111111/comments?limit=25&after=NTA%3D造成这个问题的原因是什么?
我已经尝试过url编码和解码,但它没有工作。
发布于 2014-07-15 14:50:12
在JSON中,任何字符都可以用unicode转义序列表示,该序列被定义为\u,后面是4个十六进制数字(参见JSON.org)。当反序列化JSON时,每个转义序列都被实际的unicode字符替换。如果运行以下示例程序,您可以自己看到这一点:
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; }
}输出:
Hello在您的示例URL中,\u0025表示%字符。所以这两个URL实际上是等价的。这里没有问题。
https://stackoverflow.com/questions/24755407
复制相似问题