1 打开json验证网站http://jsonlint.com/;
2、用nodepad++打开json文件,复制文本,或者将自己的文本复制粘贴到网站上面,点击validate;
3、上图中显示Parse error on line 1: { title: { tex -----^ Expecting 'STRING', '}' ,实际上,整个json都是1行,这个网站只能查看正确或者错误,并不能特别精确的显示具体的行数。 需要你用nodepad++,把格式转换好,自己细心的查找问题。
package image;
import java.util.Scanner;。
import javax.script.ScriptEngine;。
import javax.script.ScriptEngineManager;。
import javax.script.ScriptException;。
public class JS。
public static void main ( String[] args )。
{
System.out.println ("随便输入一个JSON格式:(直接回车结束)");。
Scanner scanner = new Scanner (System.in);。
ScriptEngineManager sem = new ScriptEngineManager ();。
ScriptEngine se = sem.getEngineByName ("js");。
while (scanner.hasNextLine ())。
{
String line = scanner.nextLine ().trim ();。
if ("".equals (line))。
{
break;。
}
try。
{
System.out.println (se.eval (line));。
}
catch (ScriptException e)。
{
System.out.println ("不合法的JSON,重新输入:");。
continue;。
}
}
scanner.close ();。
}
方法一:用JSONObject.fromObject(str),如果异常说明其格式错误。这个方法够粗暴狂野,但是,不能有针对性的校验json。方法二:在每一个接口里去解析json,一层一层、一个一个的校验是否是规定的参数格式。这个方法肯定没问题,但是,懒惰的程序员应该不会这样做的。方法三:在配置文件或数据库里规定一个配置,通过不同的配置去解析不同的json,符合配置则正确,反之则错误。
【在每一个接口里去解析json,一层一层、一个一个的校验是否是规定的参数格式。这个方法肯定没问题,但是,懒惰的程序员应该不会这样做的。】
其实本来就应该这么做的,只是JSON做起来太麻烦罢了,要是XML直接上schema就搞定了。一个有责任心的程序员,亲自检查每一个参数。