本文整理汇总了C#中JsonWriter.JsonFormatter类的典型用法代码示例。如果您正苦于以下问题:C# JsonWriter.JsonFormatter类的具体用法?C# JsonWriter.JsonFormatter怎么用?C# JsonWriter.JsonFormatter使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
JsonWriter.JsonFormatter类属于命名空间,在下文中一共展示了JsonWriter.JsonFormatter类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ConvertJson2Bson_HelloWorld_RoundTripsJsonToBsonAndBack
public void ConvertJson2Bson_HelloWorld_RoundTripsJsonToBsonAndBack()
{
// input from example at http://bsonspec.org/#/specification
var inputText =
@"{
""hello"" : ""world""
}";
var expectedBinary = Encoding.UTF8.GetBytes(
"\x16\x00\x00\x00\x02hello\x00"+
"\x06\x00\x00\x00world\x00\x00");
var expectedText = @"{""hello"":""world""}";
var jsonTokenizer = new JsonReader.JsonTokenizer();
var tokens1 = jsonTokenizer.GetTokens(inputText);
var bsonFormatter = new BsonWriter.BsonFormatter();
var actualBinary = bsonFormatter.Format(tokens1);
Assert.Equal(expectedBinary, actualBinary);
var bsonTokenizer = new BsonReader.BsonTokenizer();
var tokens2 = bsonTokenizer.GetTokens(actualBinary);
var jsonFormatter = new JsonWriter.JsonFormatter(new DataWriterSettings { PrettyPrint = false });
var actualText = jsonFormatter.Format(tokens2);
Assert.Equal(expectedText, actualText);
}
示例2: ConvertJson2Xml_HelloWorld_RoundTripsJsonToXmlAndBack
public void ConvertJson2Xml_HelloWorld_RoundTripsJsonToXmlAndBack()
{
// input from example at http://xmlspec.org/#/specification
var inputJson =
@"{
""hello"" : ""world""
}";
var expectedXml = @"<object><hello>world</hello></object>";
var jsonTokenizer = new JsonReader.JsonTokenizer();
var tokens1 = jsonTokenizer.GetTokens(inputJson);
var writerSettings = new DataWriterSettings { PrettyPrint = false };
var xmlFormatter = new TransformFormatter<ModelTokenType, MarkupTokenType>(new XmlWriter.XmlFormatter(writerSettings), new XmlWriter.XmlOutTransformer(writerSettings));
var actualXml = xmlFormatter.Format(tokens1);
Assert.Equal(expectedXml, actualXml);
var expectedJson = @"{""hello"":""world""}";
var readerSettings = new DataReaderSettings(writerSettings.Resolver);
var xmlTokenizer = new TransformTokenizer<MarkupTokenType, ModelTokenType>(new XmlReader.XmlTokenizer(), new XmlReader.XmlInTransformer(readerSettings));
var tokens2 = xmlTokenizer.GetTokens(actualXml);
var jsonFormatter = new JsonWriter.JsonFormatter(new DataWriterSettings { PrettyPrint = false });
var actualJson = jsonFormatter.Format(tokens2);
Assert.Equal(expectedJson, actualJson);
}
示例3: Format_ArrayEmptyPrettyPrint_ReturnsPrettyPrintedEmptyArray
public void Format_ArrayEmptyPrettyPrint_ReturnsPrettyPrintedEmptyArray()
{
var input = new[]
{
ModelGrammar.TokenArrayBeginUnnamed,
ModelGrammar.TokenArrayEnd
};
const string expected = "[]";
var formatter = new JsonWriter.JsonFormatter(new DataWriterSettings { PrettyPrint=true });
var actual = formatter.Format(input);
Assert.Equal(expected, actual);
}
示例4: Format_ObjectOnePropertyPrettyPrint_ReturnsPrettyPrintedSimpleObject
public void Format_ObjectOnePropertyPrettyPrint_ReturnsPrettyPrintedSimpleObject()
{
var input = new[]
{
ModelGrammar.TokenObjectBeginUnnamed,
ModelGrammar.TokenProperty("key"),
ModelGrammar.TokenPrimitive("value"),
ModelGrammar.TokenObjectEnd
};
const string expected =
@"{
""key"" : ""value""
}";
var formatter = new JsonWriter.JsonFormatter(new DataWriterSettings { PrettyPrint = true });
var actual = formatter.Format(input);
Assert.Equal(expected, actual);
}
示例5: Format_ObjectNestedPrettyPrint_ReturnsPrettyPrintedNestedObject
public void Format_ObjectNestedPrettyPrint_ReturnsPrettyPrintedNestedObject()
{
// input from pass3.json in test suite at http://www.json.org/JSON_checker/
var input = new[]
{
ModelGrammar.TokenObjectBeginUnnamed,
ModelGrammar.TokenProperty("JSON Test Pattern pass3"),
ModelGrammar.TokenObjectBeginUnnamed,
ModelGrammar.TokenProperty("The outermost value"),
ModelGrammar.TokenPrimitive("must be an object or array."),
ModelGrammar.TokenProperty("In this test"),
ModelGrammar.TokenPrimitive("It is an object."),
ModelGrammar.TokenObjectEnd,
ModelGrammar.TokenObjectEnd
};
const string expected =
@"{
""JSON Test Pattern pass3"" : {
""The outermost value"" : ""must be an object or array."",
""In this test"" : ""It is an object.""
}
}";
var formatter = new JsonWriter.JsonFormatter(new DataWriterSettings { PrettyPrint = true });
var actual = formatter.Format(input);
Assert.Equal(expected, actual);
}
示例6: ConvertJson2Bson_BooleanValue_RoundTripsJsonToBsonAndBack
public void ConvertJson2Bson_BooleanValue_RoundTripsJsonToBsonAndBack()
{
// input from example at http://codebetter.com/blogs/karlseguin/archive/2010/03/05/bson-serialization.aspx
var inputText = @"{valid:true}";
var expectedBinary = new byte[]
{
13, 0, 0, 0, 8, 118, 97, 108, 105, 100, 0, 1, 0
};
var expectedText =
@"{
""valid"" : true
}";
var jsonTokenizer = new JsonReader.JsonTokenizer();
var tokens1 = jsonTokenizer.GetTokens(inputText);
var bsonFormatter = new BsonWriter.BsonFormatter();
var actualBinary = bsonFormatter.Format(tokens1);
Assert.Equal(expectedBinary, actualBinary);
var bsonTokenizer = new BsonReader.BsonTokenizer();
var tokens2 = bsonTokenizer.GetTokens(actualBinary);
var jsonFormatter = new JsonWriter.JsonFormatter(new DataWriterSettings { PrettyPrint = true });
var actualText = jsonFormatter.Format(tokens2);
Assert.Equal(expectedText, actualText);
}
示例7: Format_StringTokenWithEmoji_ReturnsStringWithEmoji
public void Format_StringTokenWithEmoji_ReturnsStringWithEmoji()
{
var input = new[]
{
ModelGrammar.TokenPrimitive("Text with 😜 emoji 🎉"),
};
const string expected = @"""Text with \uD83D\uDE1C emoji \uD83C\uDF89""";
var formatter = new JsonWriter.JsonFormatter(new DataWriterSettings());
var actual = formatter.Format(input);
Assert.Equal(expected, actual);
}
示例8: Format_StringTokenTabChar_ReturnsString
public void Format_StringTokenTabChar_ReturnsString()
{
// input from fail25.json in test suite at http://www.json.org/JSON_checker/
var input = new[]
{
ModelGrammar.TokenArrayBeginUnnamed,
ModelGrammar.TokenPrimitive("\ttab\tcharacter\tin\tstring\t"),
ModelGrammar.TokenArrayEnd
};
const string expected = @"[""\ttab\tcharacter\tin\tstring\t""]";
var formatter = new JsonWriter.JsonFormatter(new DataWriterSettings());
var actual = formatter.Format(input);
// this is not allowed according to strict JSON, but we're following Postel's Law
Assert.Equal(expected, actual);
}
示例9: Format_NumberTokenNegLong_ReturnsNumber
public void Format_NumberTokenNegLong_ReturnsNumber()
{
var input = new[]
{
ModelGrammar.TokenPrimitive(-34L)
};
const string expected = "-34";
var formatter = new JsonWriter.JsonFormatter(new DataWriterSettings());
var actual = formatter.Format(input);
Assert.Equal(expected, actual);
}
示例10: Format_EmptyInput_ReturnsEmptyString
public void Format_EmptyInput_ReturnsEmptyString()
{
var input = Enumerable.Empty<Token<ModelTokenType>>();
const string expected = "";
var formatter = new JsonWriter.JsonFormatter(new DataWriterSettings());
var actual = formatter.Format(input);
Assert.Equal(expected, actual);
}
示例11: Format_StringTokenEscapedChars_ReturnsString
public void Format_StringTokenEscapedChars_ReturnsString()
{
var input = new[]
{
ModelGrammar.TokenPrimitive("\\\b\f\n\r\t\u0123\u4567\u89AB\uCDEF\uabcd\uef4A\"")
};
const string expected = @"""\\\b\f\n\r\t\u0123\u4567\u89AB\uCDEF\uABCD\uEF4A\""""";
var formatter = new JsonWriter.JsonFormatter(new DataWriterSettings());
var actual = formatter.Format(input);
Assert.Equal(expected, actual);
}
示例12: JsonFormatterFormat_EnumFromNumber_ReturnsEnum
public void JsonFormatterFormat_EnumFromNumber_ReturnsEnum()
{
var input = new[]
{
ModelGrammar.TokenPrimitive((int)ExampleEnum.Three)
};
var expected = "3";
var formatter = new JsonWriter.JsonFormatter(new DataWriterSettings(new JsonResolverStrategy()));
var actual = formatter.Format(input);
Assert.Equal(expected, actual);
}
示例13: Format_ObjectOneNamespacedProperty_CorrectlyIgnoresNamespace
public void Format_ObjectOneNamespacedProperty_CorrectlyIgnoresNamespace()
{
var input = new[]
{
ModelGrammar.TokenObjectBeginUnnamed,
ModelGrammar.TokenProperty(new DataName("key", null, "http://json.org")),
ModelGrammar.TokenPrimitive("value"),
ModelGrammar.TokenObjectEnd
};
const string expected = @"{""key"":""value""}";
var formatter = new JsonWriter.JsonFormatter(new DataWriterSettings());
var actual = formatter.Format(input);
Assert.Equal(expected, actual);
}
示例14: JsonFormatterFormat_EnumWithJsonName_ReturnsEnum
public void JsonFormatterFormat_EnumWithJsonName_ReturnsEnum()
{
var input = new[]
{
ModelGrammar.TokenPrimitive(ExampleEnum.Two)
};
var expected = @"""yellow""";
var formatter = new JsonWriter.JsonFormatter(new DataWriterSettings(new JsonResolverStrategy()));
var actual = formatter.Format(input);
Assert.Equal(expected, actual);
}
示例15: ConvertJson2Bson_ArrayAsProperty_RoundTripsJsonToBsonAndBack
public void ConvertJson2Bson_ArrayAsProperty_RoundTripsJsonToBsonAndBack()
{
// input from example at http://bsonspec.org/#/specification
var inputText =
@"{
""BSON"" : [
""awesome"",
5.05,
1986
]
}";
var expectedBinary = new byte[]
{
0x31, 0x00, 0x00, 0x00,
0x04, (byte)'B', (byte)'S', (byte)'O', (byte)'N', 0x00,
0x26, 0x00, 0x00, 0x00,
0x02, (byte)'0', 0, 0x08, 0x00, 0x00, 0x00, (byte)'a', (byte)'w', (byte)'e', (byte)'s', (byte)'o', (byte)'m', (byte)'e', 0x00,
0x01, (byte)'1', 0, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x14, 0x40,
0x10, (byte)'2', 0, 0xC2, 0x07, 0x00, 0x00,
0x00,
0x00
};
var expectedText = @"{""BSON"":[""awesome"",5.05,1986]}";
var jsonTokenizer = new JsonReader.JsonTokenizer();
var tokens1 = jsonTokenizer.GetTokens(inputText);
var bsonFormatter = new BsonWriter.BsonFormatter();
var actualBinary = bsonFormatter.Format(tokens1);
Assert.Equal(expectedBinary, actualBinary);
var bsonTokenizer = new BsonReader.BsonTokenizer();
var tokens2 = bsonTokenizer.GetTokens(actualBinary);
var jsonFormatter = new JsonWriter.JsonFormatter(new DataWriterSettings { PrettyPrint = false });
var actualText = jsonFormatter.Format(tokens2);
Assert.Equal(expectedText, actualText);
}