Wson中的JsonConvert.DeserializeObject和"d"包装器

Anz*_*zeR 3 .net c# wcf json json.net

默认情况下,WCF服务在"d"包装器中包装JSON响应,在那里我发现解析它有问题.

如果我用JsonConvert.DeserializeObject(响应)解析响应

"{\"d\":\"{\"a0b70d2f-7fe4-4aa2-b600-066201eab82d\":\"Thelma\",\"d56d4d4f-6029-40df-a23b-de27617a1e43\":\"Louise\"}\"}"
Run Code Online (Sandbox Code Playgroud)

我错了:

After parsing a value an unexpected character was encoutered: a. Line 1, position 9.
Run Code Online (Sandbox Code Playgroud)

如果我改变回应

"{\"a0b70d2f-7fe4-4aa2-b600-066201eab82d\":\"Thelma\",\"d56d4d4f-6029-40df-a23b-de27617a1e43\":\"Louise\"}"
Run Code Online (Sandbox Code Playgroud)

我搞定了.

那么如何从WCF服务解析这个"d"包装的JSON响应呢?有没有更好的方法来解析JSON?

Jer*_*eir 11

我假设你<enableWebScript/>在你的行为配置中使用,替换它,<webHttp defaultOutgoingResponseFormat="Json"/>你会得到漂亮和干净的json,没有"d"和没有"__type"