【发布时间】:2012-05-08 13:39:18
【问题描述】:
我使用JSON.stringify() 在 cookie 中存储一个带有布尔值的整数键的 javascript 关联数组,例如var arr = {}; arr[9000001] = True;。我可以看到服务器上字符串的值,格式如下:%7B%229000001%22%3Atrue%2C%229000003%22%3Atrue%2C%229000006%22%3Atrue%2C%229000009%22%3Atrue%7D 其中第一个数字是 9000001,第二个是 9000003,依此类推。
我想使用Json.Net 反序列化为Dictionary<long,bool> 或类似的。我尝试以下
var result = JsonConvert.DeserializeObject<Dictionary<string, string>>(cookieValue);
但得到以下异常
{"Unexpected character encountered while parsing value: %. Path '', line 0, position 0."}
我猜在这种情况下无法进行反序列化?
【问题讨论】:
-
也许你需要先
urldecode?我不知道它在 C# 中叫什么。 -
这就是答案。
Uri.UnescapeDataString(cookieValue)
标签: javascript .net json serialization json.net