加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 22:27:12 所属栏目:asp.Net 来源:网络整理
导读:以下 JSON未反序列化.这显然是因为DECIMALS在保存JSON中.我该如何解决? 这个初始JSON来自服务器和IS VALID: { "AppropriationAmount": 25000000,"AppropriationHours": 56300,"ArrThreshold": 11,"ClientKey": 24,"Description": 'Find and incarcerate th
以下 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网站,看看哪些是允许的,哪些不是.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读