public sealed class JsonParserReflection-based converter from JSON to messages.
Namespace
Google.ProtobufAssembly
Google.Protobuf.dll
Remarks
Instances of this class are thread-safe, with no mutable state.
This is a simple start to get JSON parsing working. As it's reflection-based, it's not as quick as baking calls into generated messages - but is a simpler implementation. (This code is generally not heavily optimized.)
Constructors
JsonParser(Settings)
public JsonParser(JsonParser.Settings settings)Creates a new formatted with the given settings.
| Parameter | |
|---|---|
| Name | Description |
settings |
JsonParserSettingsThe settings. |
Properties
Default
public static JsonParser Default { get; }Returns a formatter using the default settings.
| Property Value | |
|---|---|
| Type | Description |
JsonParser |
|
Methods
Parse(TextReader, MessageDescriptor)
public IMessage Parse(TextReader jsonReader, MessageDescriptor descriptor)Parses JSON read from jsonReader into a new message.
| Parameters | |
|---|---|
| Name | Description |
jsonReader |
TextReaderReader providing the JSON to parse. |
descriptor |
MessageDescriptorDescriptor of message type to parse. |
| Returns | |
|---|---|
| Type | Description |
IMessage |
|
| Exceptions | |
|---|---|
| Type | Description |
InvalidJsonException |
The JSON does not comply with RFC 7159 |
InvalidProtocolBufferException |
The JSON does not represent a Protocol Buffers message correctly |
Parse(string, MessageDescriptor)
public IMessage Parse(string json, MessageDescriptor descriptor)Parses json into a new message.
| Parameters | |
|---|---|
| Name | Description |
json |
stringThe JSON to parse. |
descriptor |
MessageDescriptorDescriptor of message type to parse. |
| Returns | |
|---|---|
| Type | Description |
IMessage |
|
| Exceptions | |
|---|---|
| Type | Description |
InvalidJsonException |
The JSON does not comply with RFC 7159 |
InvalidProtocolBufferException |
The JSON does not represent a Protocol Buffers message correctly |
Parse<T>(TextReader)
public T Parse<T>(TextReader jsonReader) where T : IMessage, new()Parses JSON read from jsonReader into a new message.
| Parameter | |
|---|---|
| Name | Description |
jsonReader |
TextReaderReader providing the JSON to parse. |
| Returns | |
|---|---|
| Type | Description |
T |
|
| Type Parameter | |
|---|---|
| Name | Description |
T |
The type of message to create. |
| Exceptions | |
|---|---|
| Type | Description |
InvalidJsonException |
The JSON does not comply with RFC 7159 |
InvalidProtocolBufferException |
The JSON does not represent a Protocol Buffers message correctly |
Parse<T>(string)
public T Parse<T>(string json) where T : IMessage, new()Parses json into a new message.
| Parameter | |
|---|---|
| Name | Description |
json |
stringThe JSON to parse. |
| Returns | |
|---|---|
| Type | Description |
T |
|
| Type Parameter | |
|---|---|
| Name | Description |
T |
The type of message to create. |
| Exceptions | |
|---|---|
| Type | Description |
InvalidJsonException |
The JSON does not comply with RFC 7159 |
InvalidProtocolBufferException |
The JSON does not represent a Protocol Buffers message correctly |