如何确定String是Json对象,Json数组还是XML Doc

时间:2018-04-11 20:53:05

标签: json vb.net json.net

这是我的情况,我在VB.net中使用HttpWebRequest从供应商处调用RestAPI。有些比其他更好,但有些只是执行得很糟糕。我不能使用可靠性来确定内容,使用content-type:application / xml,或者将某些返回xml作为文本。所以我正在寻找一种简单的方法,让我确定返回的数据/主体是简单的json,json数组还是XML doc。我现在不想对模式进行验证,我不想使用查找[和]来查看它是否是一个阵列,因为它不是真的可靠。

1 个答案:

答案 0 :(得分:1)

基于dbc的一些基本概念我将一个基本函数打包在一起,它现在为我做了,如果我们抛出异常我们检查xml并且如果我们失败则返回无效,它需要doc检查它是否为Json。

Private Function validate_doc(ByVal myBody As String) As String
    Dim DocType As String = ""
    Try
        DocType = JToken.Parse(myBody).Type.ToString
    Catch ex As Exception
        Try
            Dim xmlTest As String = XElement.Parse(myBody).FirstNode.ToString
            DocType = "XML"
        Catch ex2 As Exception
            DocType = "Ivalid"
        End Try
    End Try
    Return DocType
End Function