2017-01-31 4 views
-1

私は、私が持っているMySQLデータベースの中にその中にいくつかのJSONArrayを含むJSONObjectを挿入しようとしています。JavaでJSONObjectを挿入するには?

JSONObject fiveMin = new JSONObject(); 
JSONArray data = new JSONArray(); 
data.add(45); 

fiveMin.put("data", data); 

String query = "UPDATE frame_data.all_frame_data" 
      + "SET 5_min_data = " + fiveMin 
      + " WHERE stock_id = 1"; 

stmt.executeUpdate(query); 

しかし、それは私にnullポインタ例外を与えている:

これは、私は現在、やろうとしているものです。

誰でもこの問題を解決する方法を知っていますか? 「私はドン

String query = "UPDATE frame_data.all_frame_data SET 5_min_data = " + fiveMin 
      + " WHERE stock_id = 1"; 

セカンドを:私はあなたのクエリが、これは今、このようになり、あなたのクエリを変更する、frame_data.all_frame_dataSET 5_min_dataのように見えるので、あなたがframe_data.all_frame_data後にスペースを必要と修正されていない

+1

SET 5_min_data = "+ fiveMin' - あなたのコードとスタックトレースの不足から –

+0

スペースを追加してください、それは言うことができません –

答えて

0

日間、この上で立ち往生してきましたtはので、私はあなたのデータを保存するためにvarchar型またはテキストを使用していると思うMySQLでのタイプJSONObjectがあると思いますので、fiveMinはStringに変換して設定するべきではありませんあなたは、たとえば行うよう:

fiveMin.toString(); 

ますクエリは次のようになります。

PreparedStatementありがとう:

String query = "UPDATE frame_data.all_frame_data SET 5_min_data = '" + fiveMin.toString() 
      + "' WHERE stock_id = 1"; 

私はあなたがここで多くを学ぶことができるPreparedStatementを使用することをお勧めします。

+0

スペースが足りませんでした。しかし、とにかくJSONデータ型の中にJSONObjectを挿入しようとしています。それを文字列に変換しても、私にはヌルポインタが与えられました。私が何をすべきかに関するアイデア/代替案私はJavaの中で操作することができるmysql内部の構造体のような配列が必要です – Edmond

関連する問題