私はJackson 2.2.3を使用しています。ソートされたフィールドキーを持つ文字列にJsonNodeツリーを変換する必要があります。私にはこれをどうやって行うのかは完全には不明です。特に逆はとても単純なので - JsonNode jn = ObjectMapper.readTree(String s)
です。Jackson JsonNodeはソートされたキーで文字列にします
正しい方法はvoid writeTree(JsonGenerator jgen,JsonNode rootNode)
と思われます。しかし、私はJsonGenerator
からシリアル化されたString
を取得する方法がありません。 JsonGenerator.Feature
にはそのオプションがないので、SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS
がまだ適用されると私は推測します。これを行う簡単な方法がありますか?そうでない場合は、JsonGenerator
からシリアル化された文字列を取得するにはどうすればよいですか?
JSONでも配列をソートする方法はありますか?このソリューションはjson配列を持っているとうまくいきません:bacame '{collection:[z、y]、id:1}'ならばseiralizationの後に '{id:1、collection:[z、y]}' *全く注文しなかった! : – Cherry
@Cherry配列を通常の順序で並べ替えるだけです。マップに並べ替える機能が必要なのは、配列には配列がないためです。配列はJSONにシリアル化する前に配列を並べ替えることができます。 (一般的に)マップでは不可能です。 – elhefe