因此,我使用 HttpClient
来检索 HttpResponseMessage
,其中我将内容作为字符串读出:
using (var responseStream = response.Content.ReadAsStringAsync())
{
var streamContent = responseStream.Result;
}
现在,streamContent
似乎是一个 JSON 格式的字符串,但我想要得到的是 payload
,它又似乎是一个 JSON 格式的字符串。 JSON 可视化工具 (VS) 给了我这个:
[JSON]
[0]
payload_bytes: 201
payload: "{"type":"Models.Event.Partyhat","Id":"123"}"
我在获取有效负载
时遇到了一些麻烦,更不用说其中驻留的 JSON 字符串了。我尝试摆弄 JsonConvert
,但这对我没有多大帮助。
有什么提示吗?
更新:
我的反序列化尝试:
var streamContent = JsonConvert.DeserializeObject<object>(responseStream.Result);
编辑2:
可能值得添加实际的字符串:
[{"payload_bytes":201,"payload":"{\"type\":\"Models.Event.Partyhat\",\"Id\":\"123\"}"}]
最佳答案
string jsonText = ...;
dynamic root = JsonConvert.DeserializeObject(jsonText);
string payloadText = root[0].payload; // do not use 'var' here
dynamic payload = JsonConvert.DeserializeObject(payloadText);
这会让您string typeText = Payload.type;
为“Models.Event.Partyhat”
关于c# - 从 JSON 格式的字符串中检索 JSON 格式的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51533498/