我正在进行API调用。成功完成后,我知道JSON响应的结构。我可以使用JSON.NET将其读取并保存在数据库中,但如果API调用生成错误,则会生成未知结构的JSON。我必须解析并将其保存在DB中。我怎样才能做到这一点。
在错误响应的一般结构中是:
{"origin-of_error":"error_message"}
在某些情况下,还会出现其他键值。
答案 0 :(得分:2)
由于您不知道JSON的确切内容,但您至少知道它是具有键值对的扁平对象,因此我建议将反序列化为Dictionary<string, string>
。然后,您可以轻松地迭代键值对,以提取您需要存储在数据库中的数据。
string json = @"
{
""origin-of_error"" : ""error_message"",
""foo"" : ""bar""
}";
var dict = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);
foreach (KeyValuePair<string, string> kvp in dict)
{
Console.WriteLine(kvp.Key + ": " + kvp.Value);
}
答案 1 :(得分:0)
试试这个
IDictionary<string, JToken> jsondata = JObject.Parse(json);
foreach (KeyValuePair<string, JToken> innerData in jsondata) {
Console.WriteLine("{0}=> {1}",innerData.Key, innerData.Value.ToString());
}