Here are the examples of the csharp api Xunit.JsonBuffer.Read() taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
3 Examples
19
Source : Json.cs
with MIT License
from dotnet
with MIT License
from dotnet
public static JsonValue Deserialize(TextReader reader)
{
if (reader == null)
{
throw new ArgumentNullException(nameof(reader));
}
var buffer = new JsonBuffer(reader);
var result = DeserializeInternal(buffer.Read(), buffer);
// There are still unprocessed char. The parsing is not finished. Error happened.
var nextToken = buffer.Read();
if (nextToken.Type != JsonTokenType.EOF)
{
throw new JsonDeserializerException(
JsonDeserializerResource.Format_UnfinishedJSON(nextToken.Value),
nextToken);
}
return result;
}
19
Source : Json.cs
with MIT License
from dotnet
with MIT License
from dotnet
static JsonArray DeserializeArray(JsonToken head, JsonBuffer buffer)
{
var list = new List<JsonValue>();
while (true)
{
var next = buffer.Read();
if (next.Type == JsonTokenType.RightSquareBracket)
{
break;
}
list.Add(DeserializeInternal(next, buffer));
next = buffer.Read();
if (next.Type == JsonTokenType.EOF)
{
throw new JsonDeserializerException(
JsonDeserializerResource.Format_InvalidSyntaxExpectation("JSON array", ']', ','),
next);
}
else if (next.Type == JsonTokenType.RightSquareBracket)
{
break;
}
else if (next.Type != JsonTokenType.Comma)
{
throw new JsonDeserializerException(
JsonDeserializerResource.Format_InvalidSyntaxExpectation("JSON array", ','),
next);
}
}
return new JsonArray(list.ToArray(), head.Line, head.Column);
}
19
Source : Json.cs
with MIT License
from dotnet
with MIT License
from dotnet
static JsonObject DeserializeObject(JsonToken head, JsonBuffer buffer)
{
var dictionary = new Dictionary<string, JsonValue>();
// Loop through each JSON entry in the input object
while (true)
{
var next = buffer.Read();
if (next.Type == JsonTokenType.EOF)
{
throw new JsonDeserializerException(
JsonDeserializerResource.Format_InvalidSyntaxExpectation("JSON object", '}'),
next);
}
if (next.Type == JsonTokenType.Colon)
{
throw new JsonDeserializerException(
JsonDeserializerResource.Format_InvalidSyntaxNotExpected("JSON object", ':'),
next);
}
else if (next.Type == JsonTokenType.RightCurlyBracket)
{
break;
}
else
{
if (next.Type != JsonTokenType.String)
{
throw new JsonDeserializerException(
JsonDeserializerResource.Format_InvalidSyntaxExpectation("JSON object member name", "JSON string"),
next);
}
var memberName = next.Value;
if (dictionary.ContainsKey(memberName))
{
throw new JsonDeserializerException(
JsonDeserializerResource.Format_DuplicateObjectMemberName(memberName),
next);
}
next = buffer.Read();
if (next.Type != JsonTokenType.Colon)
{
throw new JsonDeserializerException(
JsonDeserializerResource.Format_InvalidSyntaxExpectation("JSON object", ':'),
next);
}
dictionary[memberName] = DeserializeInternal(buffer.Read(), buffer);
next = buffer.Read();
if (next.Type == JsonTokenType.RightCurlyBracket)
{
break;
}
else if (next.Type != JsonTokenType.Comma)
{
throw new JsonDeserializerException(
JsonDeserializerResource.Format_InvalidSyntaxExpectation("JSON object", ',', '}'),
next);
}
}
}
return new JsonObject(dictionary, head.Line, head.Column);
}