1. 如果用正则表达式,参考这里:How to check if a string is a valid JSON string in JavaScript without using Try/Catch
2. 如果用Json.NET,参考这里:Validating JSON with JSON Schema
1:这个是json2 中的解决方案,也看了的,里面用了多次替换,修改为C#版本的 还是有点挑战的。
if (/^[\],:{}\s]*$/.test(text.replace(/\\["\\\/bfnrtu]/g, '@').
replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').
replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
//the json is ok
}else{
//the json is not ok
}
2:Json.NET 的话需要知道实体数据结构。这个作为通用的来说,不是太好。
@包拯: 用JObject.Parse()不需要知道实体数据结构
@dudu: 我看了上面链接的文档上使用到schemaJson 这个就是 他定义的数据结构吖。。。
http://jsonlint.org/ 参考这个