private object DeserializeJsonArray(JsonReader reader, IJsonSerializeOperationInfo info) { var jsonArray = new JsonArray(info); while (true) { if (reader.PeekNextNodeType() == JsonNodeType.CloseArray) { // If the next content is CloseArray, read it and return the empty list. reader.Read(); return(jsonArray); } jsonArray.Add(DeserializeObject(reader, info)); if (!reader.ReadContent()) { throw new XSerializerException("Unexpected end of input while attempting to parse ',' character."); } if (reader.NodeType == JsonNodeType.CloseArray) { break; } if (reader.NodeType != JsonNodeType.ItemSeparator) { throw new XSerializerException("Unexpected node type found while attempting to parse ',' character: " + reader.NodeType + "."); } } return(jsonArray); }
private object Read(JsonReader reader, IJsonSerializeOperationInfo info) { if (reader.NodeType == JsonNodeType.Null) { return(null); } var list = _createList(); while (true) { if (reader.PeekNextNodeType() == JsonNodeType.CloseArray) { // If the next content is CloseArray, read it and return the empty list. reader.Read(); return(list); } var item = _itemSerializer.DeserializeObject(reader, info); _addItem(list, item); if (!reader.ReadContent()) { throw new XSerializerException("Unexpected end of input while attempting to parse ',' character."); } if (reader.NodeType == JsonNodeType.CloseArray) { break; } if (reader.NodeType != JsonNodeType.ItemSeparator) { throw new XSerializerException("Unexpected node type found while attempting to parse ',' character: " + reader.NodeType + "."); } } return(list); }
private object Read(JsonReader reader, IJsonSerializeOperationInfo info) { if (reader.NodeType == JsonNodeType.Null) { return null; } var list = _createList(); while (true) { if (reader.PeekNextNodeType() == JsonNodeType.CloseArray) { // If the next content is CloseArray, read it and return the empty list. reader.Read(); return list; } var item = _itemSerializer.DeserializeObject(reader, info); _addItem(list, item); if (!reader.ReadContent()) { throw new XSerializerException("Unexpected end of input while attempting to parse ',' character."); } if (reader.NodeType == JsonNodeType.CloseArray) { break; } if (reader.NodeType != JsonNodeType.ItemSeparator) { throw new XSerializerException("Unexpected node type found while attempting to parse ',' character: " + reader.NodeType + "."); } } return list; }
private object DeserializeJsonArray(JsonReader reader, IJsonSerializeOperationInfo info) { var jsonArray = new JsonArray(info); while (true) { if (reader.PeekNextNodeType() == JsonNodeType.CloseArray) { // If the next content is CloseArray, read it and return the empty list. reader.Read(); return jsonArray; } jsonArray.Add(DeserializeObject(reader, info)); if (!reader.ReadContent()) { throw new XSerializerException("Unexpected end of input while attempting to parse ',' character."); } if (reader.NodeType == JsonNodeType.CloseArray) { break; } if (reader.NodeType != JsonNodeType.ItemSeparator) { throw new XSerializerException("Unexpected node type found while attempting to parse ',' character: " + reader.NodeType + "."); } } return jsonArray; }