簡體   English   中英

如何將 Java 列表寫入 Amazon Ion writer?

[英]How do I write a Java list to Amazon Ion writer?

有人使用過 Amazon Ion 嗎? ( https://amzn.github.io/ion-docs/guides/cookbook.html )

我必須用IonWriter寫一個文檔,問題是模式需要這樣的東西:

{
 name: "schemaName",
 valid: [a, b, c]
}

但我找不到不帶引號[a,b,c]的寫法。

我嘗試過的事情:

  • 通過將列表轉換為字符串來使用writeString()
  • 使用writeByte()產生不需要的字節數據
  • 使用writeSymbol()結果與字符串相同。

有沒有辦法做到這一點?

它看起來像基於 Amazon ION 規范的數據類型symbol的用例https://amzn.github.io/ion-docs/docs/spec.html#symbol ,您可以嘗試下面的代碼。

import com.amazon.ion.IonStruct;
import com.amazon.ion.IonSystem;
import com.amazon.ion.system.IonSystemBuilder;

public class IonSample {
    public static void main(String[] args) {
        IonSystem ionSystem = IonSystemBuilder.standard().build();

        IonStruct ionStruct = ionSystem.newEmptyStruct();
        ionStruct.add("name", ionSystem.newString("schemaName"));
        ionStruct.add("valid", ionSystem.newList(
            ionSystem.newSymbol("a"),
            ionSystem.newSymbol("b"),
            ionSystem.newSymbol("c")));

        System.out.println(ionStruct.toPrettyString());
    }
}

輸出

{
  name:"schemaName",
  valid:[
    a,
    b,
    c
  ]
}

所以我能夠找到一種方法,我們可以簡單地使用IonType.LISTstepIn()stepOut來實現這樣的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM