serializeProtoBuf

説明

ColdFusion データを、そのデータの Protobuf 表現に変換します。

戻り値

バイト配列データまたはバイト配列のリストを返します。

シンタックス

serializeProtoBuf(data, schema, messageType, queryFormat, useCustomSerialization, protoPath)

パラメーター

パラメーター 必須 説明
data はい ColdFusion データ値または ColdFusion データ値を表す変数。
schema はい protobuf スキーマ。プレーン文字列として指定することも、ファイルパスとして直接指定することもできます。
messageType はい 指定されたスキーマに定義されているメッセージタイプを表す文字列。スキーマに含まれているメッセージタイプが 1 つだけの場合、これはオプションです。
queryFormat いいえ これは文字列タイプのパラメーターで、「row」、「column」、「struct」のいずれかの値を指定できます。デフォルト値は「struct」です。
useCustomSerialization いいえ true または false です。customSerializer を使用するかどうかを指定します。デフォルト値は true です。シリアル化には必ず、カスタムシリアライザーが使用されます。false の場合、Protobuf シリアル化は ColdFusion のデフォルト動作を使用して実行されます。
protoPath いいえ (true または false)このフラグの目的は、スキーマで定義されている読み込み対象ファイルをコンパイラーが探すディレクトリを指定することです。デフォルトでは、現在のスキーマの親パスになります。

Customer.proto

syntax = “proto3”;
message Customer {
    int64 customer_id = 1;
    string customer_name = 2;
}

Order.proto

syntax = “proto3”; 
import “Customer.proto”; 
message Order {
    int32 order_id = 1;
    string order_date = 2;
    int32 order_amount = 3;
    Customer customer = 5;
}

File.cfm

<cfscript>
    // データを定義
    data = {
        “order_id”: 32,
        “order_date”: “09-09-2022”,
        “order_amount”: 345,
        “customer”:{
            “customer_id”:344,
            “customer_name”:“Jack”
        }
    }
    protoSerRes = serializeProtoBuf(data,'Order.proto','Order','struct',false); 
    writedump(protoSerRes) // データはバイナリ形式で出力される
</cfscript>

ヘルプをすばやく簡単に入手

新規ユーザーの場合

Adobe MAX 2025

Adobe MAX Japan
クリエイターの祭典

2025 年 2 月 13 日
東京ビッグサイト