public void JsonNameParseTest() { var settings = new JsonParser.Settings(10, TypeRegistry.FromFiles(UnittestIssuesReflection.Descriptor)); var parser = new JsonParser(settings); // It is safe to use either original field name or explicitly specified json_name Assert.AreEqual(new TestJsonName { Name = "test", Description = "test2", Guid = "test3" }, parser.Parse<TestJsonName>("{ \"name\": \"test\", \"desc\": \"test2\", \"guid\": \"test3\" }")); }
public override async Task <InputFormatterResult> ReadRequestBodyAsync(InputFormatterContext context, Encoding encoding) { HttpRequest request = context.HttpContext.Request; Type type = context.ModelType; IMessage protoType = (IMessage)Activator.CreateInstance(type); JsonParser.Settings settings = new JsonParser.Settings(100); JsonParser parser = new JsonParser(settings); using (TextReader reader = new StreamReader(request.Body, encoding)) { protoType = parser.Parse(reader, protoType.Descriptor); } return(await InputFormatterResult.SuccessAsync(protoType)); }