public class JsonToProtoMessage implements ToProtoConverter<Object>Converts JSON data to Protobuf messages given the Protobuf descriptor and BigQuery table schema. The Protobuf descriptor must have all fields lowercased.
Implements
com.google.cloud.bigquery.storage.v1.ToProtoConverter<java.lang.Object>Static Fields
INSTANCE
public static final JsonToProtoMessage INSTANCE| Field Value | |
|---|---|
| Type | Description | 
JsonToProtoMessage | 
        |
Static Methods
convertJsonToProtoMessage(Descriptors.Descriptor protoSchema, TableSchema tableSchema, JSONObject json)
public static DynamicMessage convertJsonToProtoMessage(Descriptors.Descriptor protoSchema, TableSchema tableSchema, JSONObject json)| Parameters | |
|---|---|
| Name | Description | 
protoSchema | 
        Descriptor | 
      
tableSchema | 
        TableSchema | 
      
json | 
        org.json.JSONObject | 
      
| Returns | |
|---|---|
| Type | Description | 
DynamicMessage | 
        |
convertJsonToProtoMessage(Descriptors.Descriptor protoSchema, TableSchema tableSchema, JSONObject json, boolean ignoreUnknownFields)
public static DynamicMessage convertJsonToProtoMessage(Descriptors.Descriptor protoSchema, TableSchema tableSchema, JSONObject json, boolean ignoreUnknownFields)| Parameters | |
|---|---|
| Name | Description | 
protoSchema | 
        Descriptor | 
      
tableSchema | 
        TableSchema | 
      
json | 
        org.json.JSONObject | 
      
ignoreUnknownFields | 
        boolean | 
      
| Returns | |
|---|---|
| Type | Description | 
DynamicMessage | 
        |
convertJsonToProtoMessage(Descriptors.Descriptor protoSchema, JSONObject json)
public static DynamicMessage convertJsonToProtoMessage(Descriptors.Descriptor protoSchema, JSONObject json)| Parameters | |
|---|---|
| Name | Description | 
protoSchema | 
        Descriptor | 
      
json | 
        org.json.JSONObject | 
      
| Returns | |
|---|---|
| Type | Description | 
DynamicMessage | 
        |
Constructors
JsonToProtoMessage()
public JsonToProtoMessage()You can use #INSTANCE instead
Methods
convertToProtoMessage(Descriptors.Descriptor protoSchema, TableSchema tableSchema, Iterable<Object> jsonArray, boolean ignoreUnknownFields)
public List<DynamicMessage> convertToProtoMessage(Descriptors.Descriptor protoSchema, TableSchema tableSchema, Iterable<Object> jsonArray, boolean ignoreUnknownFields)Converts Json array to list of Protobuf
| Parameters | |
|---|---|
| Name | Description | 
protoSchema | 
        Descriptorthe schema of the output Protobuf schems.  | 
      
tableSchema | 
        TableSchematha underlying table schema for which Protobuf is being built.  | 
      
jsonArray | 
        Iterable<Object>the input JSON array converted to Protobuf.  | 
      
ignoreUnknownFields | 
        booleanflag indicating that the additional fields not present in the output schema should be accepted.  | 
      
| Returns | |
|---|---|
| Type | Description | 
List<DynamicMessage> | 
        Converted message in Protobuf format.  | 
      
convertToProtoMessage(Descriptors.Descriptor protoSchema, TableSchema tableSchema, Object json, boolean ignoreUnknownFields)
public DynamicMessage convertToProtoMessage(Descriptors.Descriptor protoSchema, TableSchema tableSchema, Object json, boolean ignoreUnknownFields)Converts input message to Protobuf.
WARNING: it's much more efficient to call the other APIs accepting json array if the jsons share the same table schema.
| Parameters | |
|---|---|
| Name | Description | 
protoSchema | 
        Descriptorthe schema of the output Protobuf schems.  | 
      
tableSchema | 
        TableSchematha underlying table schema for which Protobuf is being built.  | 
      
json | 
        Objectthe input JSON object converted to Protobuf.  | 
      
ignoreUnknownFields | 
        booleanflag indicating that the additional fields not present in the output schema should be accepted.  | 
      
| Returns | |
|---|---|
| Type | Description | 
DynamicMessage | 
        Converted message in Protobuf format.  | 
      
convertToProtoMessage(Descriptors.Descriptor protoSchema, TableSchema tableSchema, JSONArray jsonArray, boolean ignoreUnknownFields)
public List<DynamicMessage> convertToProtoMessage(Descriptors.Descriptor protoSchema, TableSchema tableSchema, JSONArray jsonArray, boolean ignoreUnknownFields)Converts Json array to list of protocol buffer messages given the protocol buffer descriptor.
| Parameters | |
|---|---|
| Name | Description | 
protoSchema | 
        Descriptor | 
      
tableSchema | 
        TableSchemabigquery table schema is needed for type conversion of DATETIME, TIME, NUMERIC, BIGNUMERIC  | 
      
jsonArray | 
        org.json.JSONArray | 
      
ignoreUnknownFields | 
        booleanallows unknown fields in JSON input to be ignored.  | 
      
| Returns | |
|---|---|
| Type | Description | 
List<DynamicMessage> | 
        |
| Exceptions | |
|---|---|
| Type | Description | 
IllegalArgumentException | 
        when JSON data is not compatible with proto descriptor.  | 
      
convertToProtoMessage(Descriptors.Descriptor protoSchema, TableSchema tableSchema, JSONObject json)
public DynamicMessage convertToProtoMessage(Descriptors.Descriptor protoSchema, TableSchema tableSchema, JSONObject json)Converts Json data to protocol buffer messages given the protocol buffer descriptor.
WARNING: it's much more efficient to call the other APIs accepting json array if the jsons share the same table schema.
| Parameters | |
|---|---|
| Name | Description | 
protoSchema | 
        Descriptor | 
      
tableSchema | 
        TableSchemabigquery table schema is needed for type conversion of DATETIME, TIME, NUMERIC, BIGNUMERIC  | 
      
json | 
        org.json.JSONObject | 
      
| Returns | |
|---|---|
| Type | Description | 
DynamicMessage | 
        |
| Exceptions | |
|---|---|
| Type | Description | 
IllegalArgumentException | 
        when JSON data is not compatible with proto descriptor.  | 
      
convertToProtoMessage(Descriptors.Descriptor protoSchema, TableSchema tableSchema, JSONObject json, boolean ignoreUnknownFields)
public DynamicMessage convertToProtoMessage(Descriptors.Descriptor protoSchema, TableSchema tableSchema, JSONObject json, boolean ignoreUnknownFields)Converts Json data to protocol buffer messages given the protocol buffer descriptor.
WARNING: it's much more efficient to call the other APIs accepting json array if the jsons share the same table schema.
| Parameters | |
|---|---|
| Name | Description | 
protoSchema | 
        Descriptor | 
      
tableSchema | 
        TableSchemabigquery table schema is needed for type conversion of DATETIME, TIME, NUMERIC, BIGNUMERIC  | 
      
json | 
        org.json.JSONObject | 
      
ignoreUnknownFields | 
        booleanallows unknown fields in JSON input to be ignored.  | 
      
| Returns | |
|---|---|
| Type | Description | 
DynamicMessage | 
        |
| Exceptions | |
|---|---|
| Type | Description | 
IllegalArgumentException | 
        when JSON data is not compatible with proto descriptor.  | 
      
convertToProtoMessage(Descriptors.Descriptor protoSchema, JSONObject json)
public DynamicMessage convertToProtoMessage(Descriptors.Descriptor protoSchema, JSONObject json)Converts Json data to protocol buffer messages given the protocol buffer descriptor.
WARNING: it's much more efficient to call the other APIs accepting json array if the jsons share the same table schema.
| Parameters | |
|---|---|
| Name | Description | 
protoSchema | 
        Descriptor | 
      
json | 
        org.json.JSONObject | 
      
| Returns | |
|---|---|
| Type | Description | 
DynamicMessage | 
        |
| Exceptions | |
|---|---|
| Type | Description | 
IllegalArgumentException | 
        when JSON data is not compatible with proto descriptor.  |