【发布时间】:2017-10-26 19:47:31
【问题描述】:
我收到了来自 web 服务的响应,如下所示
{
"header": {
"sourceId": "1002",
"mndAction": "CREATE",
"msgId": "msg10022",
"errMsg": null,
"txnStatusFlg": "1",
"successMsg": "SUCCESS"
},
"response": {"responseString": "Required Data"}
}
我想从上面的json数据中获取responseString的值。
为了响应
{"Status":"success","DocRepoId":225,"Details":"success",
"ErrorCode":"","responseString": "Required Data"}
我使用了代码
var deserializer = new JavaScriptSerializer();
var someObject = deserializer.Deserialize<Dictionary<string, string>>
(response);
string responseString= someObject["responseString"].ToString();
获取 responseString 的值,但在这种情况下它显示错误。 我正在寻找不使用 json.net 或类似的解决方案。 我的项目在 .net 版本 3.5 上。
【问题讨论】:
-
所以我会使用
Newtonsoft.Json- 使用 Nuget-Installer 安装它并以这种方式反序列化它RootObject r = JsonConvert.DeserializeObject<RootObject>(json); -
一种方法是创建具有该结构的对象并使用 deserializer.Deserialize
(json)。 -
@LenglBoy OP 专门说不使用 JSON 或类似的
-
@LenglBoy 感谢您的快速响应,但我无法使用 newtonsoft.json 或 json.net
-
@o_O 哦,我以为只有 json.NET。为什么不使用包含在.NET 中的普通微软方式呢?比其他 Libs 稍微复杂一点,但可以工作。或者为这个简短的 json 构建一个自己的序列化器。