本文整理汇总了C#中Newtonsoft.Json.Linq.JTokenReader.Close方法的典型用法代码示例。如果您正苦于以下问题:C# JTokenReader.Close方法的具体用法?C# JTokenReader.Close怎么用?C# JTokenReader.Close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Newtonsoft.Json.Linq.JTokenReader
的用法示例。
在下文中一共展示了JTokenReader.Close方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetCharacterFromSource
/// <summary>
/// Extrae un personaje de la fuente de datos en JSON.
/// </summary>
/// <param name="name">
/// El nombre del pesonaje a extraer de la fuente de datos.
/// </param>
/// <returns>
/// Un objeto Character cuyo nombre coincide con el solicitado.
/// </returns>
/// <pre>true</pre>
/// <post>(this.Contains(name) => (returnValue != null) && (returnValue.Name.Equals(name)))</post>
public FullCharacter GetCharacterFromSource(string name)
{
FullCharacter character = null;
// Obtenemos un lector de tokens de Json. Para ello creamos primero un stream de la
// cadena json, luego creamos un lector de texto usando ese stream y por último creamos
// un lector de tokens utilizando el lector de texto y lo inicializamos
JsonReader reader = new JsonTextReader(new StringReader(jsonString));
JTokenReader tokenreader = new JTokenReader(JToken.ReadFrom(reader));
tokenreader.Read();
// Obtenemos el token cuyo nombre corresponde al deseado, utilizando para ello una
// expresión JSonPath
// Para más información sobre JPath: http://goessner.net/articles/JsonPath/
JToken token = tokenreader.CurrentToken.SelectToken("$.[?(@.name=='" + name + "')]", false);
// Si existe un token con dihco nombre, existe el personaje buscado
if (token != null)
{
// Creamos un nuevo objeto de tipo Character e incrementamos el correspondiente
// contador
character = new FullCharacter();
createdCharacters++;
// Extraemos el valor de la Propiedad Nombre del correspondiente token
character.Name = token.SelectToken("name").Value<String>();
// Extraemos el valor de la Propiedad Nombre del correspondiente token
character.Description = token.SelectToken("description").Value<String>();
IEnumerable<JToken> relatedCharactersTokens = token.SelectToken("related_characters").Values<JToken>();
// Construimos la colección de personajes relacionados con la colección de tokens JSON
FillRelatedCharacters(character, relatedCharactersTokens);
} // if
// Cerramos los lectores que estén abiertos
tokenreader.Close();
reader.Close();
return character;
}