开发者

Deserialize complex JSON object using ASP.NET?

I've successfully created code that serializes a complex javascript object and posts it to an ASP.NET page. I can get the JSON string using Request.Form and the result looks like this (I've added indentation for readability):

    {
    "gasterPerStolPerVecka": {
        "name": "gasterPerStolPerVecka",
        "keyValue_id": "2",
        "set_id": "1",
        "containerElement": "#gasterPerStolPerVecka",
        "keyValueComponents": [
            {
                "name": "gasterPerStolPerVecka_guestsPerWeek",
                "value": "200"
            },
            {
                "name": "gasterPerStolPerVecka_numberOfChairs",
                "value": "100"
            }
        ],
        "keyValueUnitText": "gäster/stol per vecka",
        "keyValueCalculationMethod": "divide",
        "isValid": true,
        "result": 2
    },
    "tillgangligaStolstimmarPerVecka": {
        "name": "tillgangligaStolstimmarPerVecka",
        "keyValue_id": "1",
        "set_id": "1",
        "containerElement": "#tillgangligaStolstimmarPerVecka",
        "keyValueComponents": [
            {
                "name": "tillgangligaStolstimmarPerVecka_openHoursPerWeek",
                "value": "35"
            },
            {
                "name": "tillgangligaStolstimmarPerVecka_numberOfChairs",
                "value": "100"
            }
        ],
        "keyValueUnitText": "stolstimmar/vecka",
        "keyValueCalculationMethod": "multiply",
        "isValid": true,
        "result": 3500
    },
    "planeradIntaktPerTillgangligStolOchVecka": {
        "name": "planeradIntaktPerTillgangligStolOchVecka",
        "keyValue_id": "",
        "set_id": "",
        "containerElement": "#planeradIntaktPerTillgangligStolOchVecka",
        "keyValueComponents": [
 开发者_高级运维           {
                "name": "planeradIntaktPerTillgangligStolOchVecka_weeklyRevenue",
                "value": ""
            },
            {
                "name": "planeradIntaktPerTillgangligStolOchVecka_numberOfChairs",
                "value": "100"
            }
        ],
        "keyValueUnitText": "kr",
        "keyValueCalculationMethod": "divide",
        "isValid": false,
        "result": null,
        "errorText": "Ofullständigt underlag för beräkning."
    },
    "planeradIntaktPerTillgangligaStolstimmar": {
        "name": "planeradIntaktPerTillgangligaStolstimmar",
        "keyValue_id": "",
        "set_id": "",
        "containerElement": "#planeradIntaktPerTillgangligaStolstimmar",
        "keyValueComponents": [
            {
                "name": "planeradIntaktPerTillgangligaStolstimmar_weeklyRevenue",
                "value": ""
            },
            {
                "name": "planeradIntaktPerTillgangligaStolstimmar_openHoursPerWeek",
                "value": "35"
            },
            {
                "name": "planeradIntaktPerTillgangligaStolstimmar_numberOfChairs",
                "value": "100"
            }
        ],
        "keyValueUnitText": "kr",
        "keyValueCalculationMethod": "divide_divide",
        "isValid": false,
        "result": null,
        "errorText": "Ofullständigt underlag för beräkning."
    }
}

Now I try to deserialize this on the server side, but it's difficult. I keep getting the error:

[NullReferenceException: Object reference not set to an instance of an object.]

I don't know where to start looking for errors?

Thanks in advance! /Thomas Kahn


use stringify instead serialization


You need to use a deserialization library for ASP.NET. See http://json.org/ for libraries that are available or maybe there is one built into ASP.NET. Either way, the code will look like:

String s = getAppropriateFormField();
Object o = JSONLibraryPackage.parse(s);

where obviously you'll have to fill in the blanks for how you get the form field and then what package and method does the parsing.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜