Class JsonParser
Reflection-based converter from JSON to messages.
Inheritance
Inherited Members
Namespace: Google.Protobuf
Assembly: Google.Protobuf.dll
Syntax
public sealed class JsonParser
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(JsonParser.Settings)
Creates a new formatted with the given settings.
Declaration
public JsonParser(JsonParser.Settings settings)
Parameters
Type | Name | Description |
---|---|---|
JsonParser.Settings | settings | The settings. |
Properties
Default
Returns a formatter using the default settings.
Declaration
public static JsonParser Default { get; }
Property Value
Type | Description |
---|---|
JsonParser |
Methods
Parse(TextReader, MessageDescriptor)
Parses JSON read from jsonReader
into a new message.
Declaration
public IMessage Parse(TextReader jsonReader, MessageDescriptor descriptor)
Parameters
Type | Name | Description |
---|---|---|
System.IO.TextReader | jsonReader | Reader providing the JSON to parse. |
MessageDescriptor | descriptor | Descriptor of message type to parse. |
Returns
Type | Description |
---|---|
IMessage |
Exceptions
Type | Condition |
---|---|
InvalidJsonException | The JSON does not comply with RFC 7159 |
InvalidProtocolBufferException | The JSON does not represent a Protocol Buffers message correctly |
Parse(String, MessageDescriptor)
Parses json
into a new message.
Declaration
public IMessage Parse(string json, MessageDescriptor descriptor)
Parameters
Type | Name | Description |
---|---|---|
System.String | json | The JSON to parse. |
MessageDescriptor | descriptor | Descriptor of message type to parse. |
Returns
Type | Description |
---|---|
IMessage |
Exceptions
Type | Condition |
---|---|
InvalidJsonException | The JSON does not comply with RFC 7159 |
InvalidProtocolBufferException | The JSON does not represent a Protocol Buffers message correctly |
Parse<T>(TextReader)
Parses JSON read from jsonReader
into a new message.
Declaration
public T Parse<T>(TextReader jsonReader)
where T : IMessage, new()
Parameters
Type | Name | Description |
---|---|---|
System.IO.TextReader | jsonReader | Reader providing the JSON to parse. |
Returns
Type | Description |
---|---|
T |
Type Parameters
Name | Description |
---|---|
T | The type of message to create. |
Exceptions
Type | Condition |
---|---|
InvalidJsonException | The JSON does not comply with RFC 7159 |
InvalidProtocolBufferException | The JSON does not represent a Protocol Buffers message correctly |
Parse<T>(String)
Parses json
into a new message.
Declaration
public T Parse<T>(string json)
where T : IMessage, new()
Parameters
Type | Name | Description |
---|---|---|
System.String | json | The JSON to parse. |
Returns
Type | Description |
---|---|
T |
Type Parameters
Name | Description |
---|---|
T | The type of message to create. |
Exceptions
Type | Condition |
---|---|
InvalidJsonException | The JSON does not comply with RFC 7159 |
InvalidProtocolBufferException | The JSON does not represent a Protocol Buffers message correctly |