【问题标题】:Is this true - we need ordered JSON?这是真的 - 我们需要有序的 JSON 吗?
【发布时间】:2013-04-17 12:40:47
【问题描述】:

我试图发送以下 JSON 正文

{
    "ID": "3d7effda-8e3a-4254-bc4a-32c473ce473f",
    "Projects": [
        {
            "__type": "ProductEvaluationReference:#abc.Think.Projects",
            "ID": "01ff01cb-d3a5-4a36-b274-446cdcbd93a2",
            "Type": "ProductEvaluation"
        },
        {
            "__type": "FinancialAssessmentReference:#abc.Think.Projects",
            "ID": "403030bf-dc7d-4e4f-ae5b-b25c6b61e986",
            "Type": "FinancialAssessment"
        },
        {
            "__type": "ProductSurveyReference:#abc.Think.Projects",
            "ID": "8e43e41f-d200-4508-9c48-f0ee6e8baf99",
            "Type": "ProductSurvey"
        },
        {
            "__type": "ProductSurveyReference:#abc.Think.Projects",
            "ID": "e066c8ae-e268-4e9d-b2b0-ecb888d9a238",
            "Type": "ProductSurvey"
        }
    ]
}
}

这非常有效。但是,如果我更改请求中__type 字段的顺序,即代替字典中的第一个键并将其设置为第二个键。我收到一个错误Cannot create abstract class。例如:

{
    "ID": "403030bf-dc7d-4e4f-ae5b-  b25c6b61e986",
    "_type": "FinancialAssessmentReference:#abc.Think.Projects",
    "Type": "FinancialAssessment"
}

我在MSDN阅读了以下内容

在 JSON 对象中键入提示位置
请注意,类型提示必须首先出现在 JSON 表示中。这是键/值对顺序的唯一情况 在 JSON 处理中很重要。

这真的是我们需要ORDERED JSON 还是我在服务器端出了点问题。谢谢

【问题讨论】:

    标签: json wcf webserver deserialization


    【解决方案1】:

    是的,我们确实需要一个有序的 JSON。我创建了一个 NSDictionary 的子类,为键添加一些排序。

    【讨论】:

    • 请详细说明您的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2012-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-18
    • 1970-01-01
    • 2010-12-28
    • 2018-02-02
    相关资源
    最近更新 更多