【问题标题】:Check JSON and XML is valid? c#检查 JSON 和 XML 是否有效? C#
【发布时间】:2012-02-04 17:19:35
【问题描述】:

我正在使用 newtonsoft json.net http://json.codeplex.com/ 我想知道...

如何验证 json 和 xml 是否有效 json/xml。

如何验证?

【问题讨论】:

标签: c# xml json json.net


【解决方案1】:

您要在服务器端或客户端验证 json 的位置。 假设您想在服务器端执行此操作,请尝试反序列化 json 字符串。如果它坏了,那么它不是一个有效的 json。使用 JavaScriptSerializer 进行反序列化

var serializer = new JavaScriptSerializer();
var result = serializer.Deserialize<Dictionary<string, object>>(json);

【讨论】:

    【解决方案2】:

    如果您使用的是 JSON.net 软件,您可以完全按照 Anand 的说明进行操作。只需反序列化 JSON 字符串,如果它中断或出错,则它不是有效的 JSON 结构。现在,如果您尝试做类似http://jsonlint.com/ 的事情,那么您可能已经超出了我们在论坛上可以帮助您的范围。如果您想检查它是否出错,只需在 C# 中使用以下代码,其中结果是 JSON 字符串:

    var root = JsonConvert.DeserializeObject<RootObject>(result);
    

    您要从 JSON 字符串反序列化的信息必须具有类似于以下内容的 RootObject 类:

    public class RootObject
    {
        // You would need to create items here to store each of the objects' information in the JSON file.
        // For example:
        public string itemName { get; set; }
        public int itemID { get; set; }
    }
    

    现在,这是假设您知道 JSON 文件中应该包含的信息。否则,这本身就是一个完整的程序。

    【讨论】:

    • 在这里了解“中断或错误”的定义会很有趣。我注意到 JsonConvert.DeserializeObject() 的 XML 文档没有说明如果有的话会引发什么异常......
    猜你喜欢
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    • 2015-09-28
    • 2012-03-15
    • 1970-01-01
    • 2015-06-19
    • 2010-10-29
    • 1970-01-01
    相关资源
    最近更新 更多