【发布时间】:2016-07-20 19:44:25
【问题描述】:
我正在尝试在这里反序列化我的字符串
LicenseName=10&StartDate=7%2F20%2F2016&EndDate=09%2F28%2F2016
使用这种方法
var serializer = new JavaScriptSerializer();
ConsumedUserLicense jsonObject = serializer.Deserialize<ConsumedUserLicense>(licenseDetails);
到这个对象
public class ConsumedUserLicense
{
public int LicenseId { get; set; }
public string LicenseName { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
}
但我收到一个错误提示
“无效的 JSON 原语:LicenseName。
【问题讨论】:
-
该字符串不是有效的 JSON。它甚至不是 invalid JSON。你是从哪里弄来的?这是一个查询字符串,不是吗?来吧,坦白吧。我们在这里都是朋友。
-
我在 Javascript 中使用了 $('#form).serialize()。我应该怎么做?
-
是的,该方法返回正确编码的查询字符串(如在 URL 中),而不是 JSON。没有直接的方法可以直接在 JS 中将表单序列化为 JSON,但 this answer 可能会这样做。请注意,我还没有对其进行测试,现在他们正在对我咆哮,要求我填写一些愚蠢的人力资源表格。
-
好的,那么我如何在c#中反序列化查询字符串???
-
a) 改用 json。 b) 将确切的问题粘贴到 Google 中,然后单击页面顶部的 StackOverflow 链接,直到您看到一个有效的链接。我得跑了,他们会搞砸我的牙科保险,我会看起来像 Shane MacGowan。
标签: c# serialization