diff options
author | alien <the-alien@live.ru> | 2016-03-17 15:19:04 +0300 |
---|---|---|
committer | alien <the-alien@live.ru> | 2016-03-18 22:59:50 +0300 |
commit | 0d32ab37fa94134427478d6776108e7cdb3e5e15 (patch) | |
tree | b0f5e3c9f9bf9097f739b98d0503d659abe974a9 /csharp/src/Google.Protobuf/Reflection | |
parent | 5e933847cc9e7826f1a9ee8b3dc1df4960b1ea5d (diff) | |
download | protobuf-0d32ab37fa94134427478d6776108e7cdb3e5e15.tar.gz protobuf-0d32ab37fa94134427478d6776108e7cdb3e5e15.tar.bz2 protobuf-0d32ab37fa94134427478d6776108e7cdb3e5e15.zip |
csharp: add support for the json_name option
Conflicts:
csharp/src/Google.Protobuf/JsonFormatter.cs
Diffstat (limited to 'csharp/src/Google.Protobuf/Reflection')
-rw-r--r-- | csharp/src/Google.Protobuf/Reflection/FieldDescriptor.cs | 6 | ||||
-rw-r--r-- | csharp/src/Google.Protobuf/Reflection/MessageDescriptor.cs | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/csharp/src/Google.Protobuf/Reflection/FieldDescriptor.cs b/csharp/src/Google.Protobuf/Reflection/FieldDescriptor.cs index c6caaec6..8cfdb779 100644 --- a/csharp/src/Google.Protobuf/Reflection/FieldDescriptor.cs +++ b/csharp/src/Google.Protobuf/Reflection/FieldDescriptor.cs @@ -90,6 +90,12 @@ namespace Google.Protobuf.Reflection /// </summary> public override string Name { get { return proto.Name; } } + + /// <summary> + /// The json_name option of the descriptor's target. + /// </summary> + public string JsonName { get { return proto.JsonName; } } + internal FieldDescriptorProto Proto { get { return proto; } } /// <summary> diff --git a/csharp/src/Google.Protobuf/Reflection/MessageDescriptor.cs b/csharp/src/Google.Protobuf/Reflection/MessageDescriptor.cs index f5798d1e..63f168ca 100644 --- a/csharp/src/Google.Protobuf/Reflection/MessageDescriptor.cs +++ b/csharp/src/Google.Protobuf/Reflection/MessageDescriptor.cs @@ -104,6 +104,8 @@ namespace Google.Protobuf.Reflection { map[JsonFormatter.ToCamelCase(field.Name)] = field; map[field.Name] = field; + if (!string.IsNullOrEmpty(field.JsonName)) + map[field.JsonName] = field; } return new ReadOnlyDictionary<string, FieldDescriptor>(map); } |