我正在尝试在Chrome中对一个对象进行字符串化(...),并且我不断获得"将循环结构转换为JSON"消息,尽管事实上(据我所知)没有这样的结构存在.
我已经完成了十几次代码,无法找到任何循环引用.有没有什么方法可以让Chrome告诉我除了这个痛苦无用的错误信息之外还有什么蠢货?
对不起,如果这是一个愚蠢的问题,这是我的第一个JS项目......
我正在尝试使用JSON反序列化JS中的自定义对象.问题是,JSON.parse()不会将对象作为其原始类型返回.由于直接将返回的对象强制转换为所需的类型似乎不可能,因此留下了'reviver'选项...
我在这里错过了什么吗?是不是要避免必须编写自定义方法来序列化和反序列化对象?如果我必须编写自己的方法'复活'我的对象,那么使用JSON有什么意义呢?
这让我疯了......我在这里做错了什么?
ArrayList<String> toAdd = new ArrayList<String>();
toAdd.add("password");
try{
PreparedStatement pStmt = conn.prepareStatement("ALTER TABLE testTable ADD ? varchar(100)");
for (String s : toAdd) {
pStmt.setString(1, s);
pStmt.execute();
}
} catch (SQLException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
结果是...
02:59:12,885 ERROR [STDERR] com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:SQL语法中有错误; 查看与您的MySQL服务器版本对应的手册,以便在第1行的''password'varchar(100)'附近使用正确的语法
但...
ArrayList<String> toAdd = new ArrayList<String>();
toAdd.add("password");
try{
Statement stmt = conn.prepareStatement();
for (String s : toAdd) {
stmt.execute("ALTER TABLE testTable ADD "+s+" varchar(100)");
}
} catch (SQLException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
完美地工作......所以直接将文本直接输入MySQL命令行客户端.
mysql> alter table testTable add stringGoesHere varchar(100); …Run Code Online (Sandbox Code Playgroud)