检查响应字符串是JSON对象还是XML?

时间:2017-02-01 22:19:08

标签: c# json json.net

用于检查响应字符串是JSON对象还是XML的C#代码?

我正在尝试这个:

string responseString = jQuery.parseJSON(response.Content.ReadAsStringAsync().Result);

但如果结果不是有效的JSON对象,则会抛出异常。 (在某些情况下,这是为我返回XML内容)我想避免异常处理。是否有任何方法返回bool来检查这是否是有效的json?

2 个答案:

答案 0 :(得分:6)

检查响应消息的内容类型。

<

您还可以阅读回复中的第一个字符。 如果是XML内容,您应该找到{{1}}。即使XML声明存在与否。

答案 1 :(得分:0)

在字符串级别:


using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
public static class Extentions
{

    public static bool IsValidJson(this string value)
    {
        try
        {
            var json = JContainer.Parse(value);
            return true;
        }
        catch
        {
            return false;
        }
    }

}