目的の JSON 出力を実現するには、クラスが正しく構造化されている必要があります。 ValueData は、ValueItem のリストを含むメイン オブジェクトを表します。各 ValueItems オブジェクトは、情報配列内のエントリを表します。
ValueData オブジェクトを JSON に変換するには、Jackson ライブラリを使用する必要があります。
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.13.3</version> </dependency>
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; public static void main(String[] args) throws Exception { // Create Java object ValueData valueData = ... ; // Create and initialize the ValueData object ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter(); String json = ow.writeValueAsString(valueData); System.out.println(json); }
writeValueAsString メソッドは、目的の JSON 文字列を生成します。 format:
{ "information": [{ "timestamp": "xxxx", "feature": "xxxx", "ean": 1234, "data": "xxxx" }, { "timestamp": "yyy", "feature": "yyy", "ean": 12345, "data": "yyy" }] }
この出力は、質問で指定された目的の JSON 形式と一致します。
以上がJackson を使用して Java オブジェクトを JSON に変換するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。