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

8gsdolmq  于 2023-05-19  发布在  其他
关注(0)|答案(3)|浏览(163)

C#代码检查响应字符串是JSON对象还是XML?
我正在尝试这个:

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

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

zbwhf8kr

zbwhf8kr1#

Swift代码检查响应字符串是JSON还是XML

if response.mimeType == "application/xml" {
   //XML
} else if response.mimeType == "application/json" {
   //JSON
} else {
   //Other
}

https://developer.apple.com/documentation/foundation/urlresponse/1411613-mimetype

mm5n2pyu

mm5n2pyu2#

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

if (response.Content.Headers.ContentType.MediaType == "application/json")
{
    // parse json
}
else
{
    // parse xml
}

您也可以从响应中读取第一个字符。如果是XML内容,则应该找到<。即使XML声明是否存在。

bzzcjhmw

bzzcjhmw3#

在字符串级别:

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;
        }
    }

}

相关问题