I will like to validate if the string object is a valid json object, regardless its data correctness. In other words, is this json string well formatted?
For instance, I am given:
"abc":"123",
"cba":"233"
}
the process should return a format exception.
{
"abc":"123"
"cba":"233"
}
should give the same.
You might think this is easy, but how can we do it in a timely fashion and avoid duplicated process(unmarshall should not depend on the result of validation)? processing string can be resource consuming in our cases.
However, if this cost is absolutely unavoidable, what is the quickest way/tool we validate a json string in java?
Just a note, Jersey-json is used in our case. Unfortunately, it doesn't have a good validator on JSON object format. So basically a string gets passed in and before it gets unmarshalled, i need to apply a validator on it.
解决方案
This is a good library for handling JSON. You can use the JSONValidatingReader class to validate whether the JSON format is valid or not.
Talking about tools, if you're looking for some tools outside of Java, you can always feel free to try JSONLint. Quicker, simpler and clearer error message but it's a web-based.