JSON对对象的响应和C#最佳实践?

时间:2018-06-21 16:56:40

标签: c# json api

我正在使用API​​向流程发出请求。

服务器将其与数组进行比较的响应并不总是完全相同的大小或尺寸。

响应在json中看起来像这样...

{
    "type": "object",
    "properties": {
        "ResponseHeader": {
            "type": "object",
            "properties": {
                "RequestID": {
                    "type": "string"
                },
                "Status": {
                    "type": "object",
                    "properties": {
                        "severity": {
                            "type": "string"
                        },
                        "statusDesc": {
                            "type": "string"
                        },
                        "sStatusCode": {
                            "type": "string"
                        },
                        "statusCode": {
                            "type": "string"
                        },
                        "AStatus": {
                            "type": "array",
                            "items": {
                                "properties": {
                                    "statusCode": {
                                        "type": "string"
                                    },
                                    "serverStatusCode": {
                                        "type": "string"
                                    },
                                    "severity": {
                                        "type": "string"
                                    },
                                    "statusDesc": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                }
            }
        },
        "contact": {
            "type": "object",
            "properties": {
                "acNumber": {
                    "type": "string"
                },
                "floatName": {
                    "type": "string"
                },
                "pData": {
                    "type": "object",
                    "properties": {
                        "fullName": {
                            "type": "string"
                        },
                        "familyName": {
                            "type": "string"
                        }
                    }
                },
                "iIdent": {
                    "type": "array",
                    "items": {
                        "properties": {
                            "type": {
                                "type": "string"
                            },
                            "number": {
                                "type": "string"
                            },
                            "description": {
                                "type": "string"
                            },
                            "verificationResults": {
                                "type": "string"
                            }
                        },
                        "type": "object"
                    }
                },
                "emp": {
                    "type": "array",
                    "items": {
                        "properties": {
                            "employer": {
                                "type": "string"
                            },
                            "Income": {
                                "type": "string"
                            },
                            "Title": {
                                "type": "string"
                            },
                            "empId": {
                                "type": "string"
                            }
                        },
                        "type": "object"
                    }
                },
                "miscData": {
                    "type": "array",
                    "items": {
                        "properties": [],
                        "type": "object"
                    }
                },
                "pAddress": {
                    "type": "array",
                    "items": {
                        "properties": {
                            "addType": {
                                "type": "string"
                            },
                            "add1": {
                                "type": "string"
                            },
                            "add2": {
                                "type": "string"
                            },
                            "city": {
                                "type": "string"
                            },
                            "zipCode": {
                                "type": "string"
                            }
                        },
                        "type": "object"
                    }
                }

            }
        }
    }
}

在C#中将其创建为对象的最佳实践/正确方法是什么?

我是否创建课程? 是否将其创建为数组?

我知道我看到了一些与此问题相关的答案,但是没有一个人谈论最佳实践。

1 个答案:

答案 0 :(得分:0)

想到的最简单的事情是使用Visual Studio的粘贴特殊功能。这将基于剪贴板中的Json或XML创建一个类。

enter image description here