2013-05-15 23 views
7

私は、mysqlのテキストフィールドにjson文字列を格納しています。 挿入後、jsonの文字列を更新し、mysqlの行IDをjackson jsonで追加します。jackson jsonでjson文字列にプロパティを追加します。

は、私はコードの行を記述することなく、他のK/Vを追加しているよ

{ 
    "thing":"val" 
} 

JSON形式であるJava文字列を持っています。

は最終的にこれを持っている。そして、私のテキストに更新し、この

json.put("mysqlId",10); 
json.toString(); 

ような何かを探し

ObjectMapper mapper = new ObjectMapper(); 
JsonNode json = mapper.readTree(jsonStr); 

{ 
    "thing":"val" 
    "mysqlId":10 
} 

私はJsonNodeに私の文字列を変換することができますmysqlの新しいjson文字列を持つフィールド

私はそれを作ることができません。 私は多くのクラスを使用したくないのですが、ジャクソンで簡単に行う方法はありますか?

+0

奇妙な要求に似ています。達成しようとしていることの例を挙げることはできますか? – NilsH

+0

投稿を更新しています – BigDong

+0

代わりにサンプルコードを使用して質問を更新してみてください。 – NilsH

答えて

23

com.fasterxml.jackson.databind.node.ObjectNodeにごJsonNodeをキャストし、その後がそれにset(またはreplace)を入れて呼び出してみます。

+0

これはより多くの票を必要とします。 – Spedge

+4

* ObjectNodeのput *メソッドは、v2.4では非推奨です。あなたは* set *か* replace *を使う必要があります。 –

+0

ジャクソンを活用してJSON文字列のプロパティの* name *を変更する方法はありますか?私。 '' id ':42'を '' my_id':42'に変更したいとします - 値42を知らずにプロパティを再作成する必要はありませんか? – mmcrae

関連する問題