微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net – 为什么这个JSON返回“无效的JSON原语”?

以下 JSON未反序列化.这显然是因为DECIMALS在保存JSON中.我该如何解决

这个初始JSON来自服务器和IS VALID:

{
    "AppropriationAmount": 25000000,"AppropriationHours": 56300,"ArrThreshold": 11,"ClientKey": 24,"Description": 'Find and incarcerate the escaped prisoner',"DirectHours": 50000,"EndDate": '3/31/2011',"EngineeringHours": 4000,"IndirectHours": 2000,"Key": 1589,"Number": '0',"OtherHours": 300,"ProductivityCurveType": 'BurnedEarned',"ProjectManager": 'Doctor Who',"ProjectName": 'Prisoner ZERO',"StartDate": '5/1/2010' 
    }

这个后续的JSON发送到服务器FAILS:
一旦用户编辑了表单,数据就会被客户端序列化并发送回来……然后在尝试反序列化JSON时失败.

{
    "AppropriationAmount": 56300.00,"AppropriationHours": 25000000.00,"ArrThreshold": 11.00,"ClientKey":,"DirectHours": 50000.00,"EngineeringHours": 4000.00,"IndirectHours": 2000.00,"OtherHours": 300.00,"StartDate": '5/1/2010' 
    }

代码抛出错误

try
    {
        if (!String.IsNullOrEmpty(this.JSON))
        {
            serializer = new JavaScriptSerializer();
            dialog = serializer.Deserialize<ProjectDecorator>(this.JSON);
        }
    }
    catch (Exception ex)
    {
        // The message shows here
    }

抛出的错误看起来像:

{"Invalid JSON primitive: ."}

解决方法

ClientKey不仅没有价值,而且还因为没有将键和值放在双引号(“”)中而冒着JSON有效性的风险.

您的密钥没问题,但字符串值必须用双引号括起来.看看JSON网站,看看哪些是允许的,哪些不是.

原文地址:https://www.jb51.cc/aspnet/249178.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐