c# - newtonsoft - unexpected character encountered while parsing value path workflow file line 1 position 17
Parse anotó json en la unidad (2)
JsonUtility no admite propiedades. Solo elimina el {get; conjunto;}
[System.Serializable]
public class ProductInfo
{
public string title;
}
[System.Serializable]
public class RootObject
{
public ProductInfo product_info;
}
Esta pregunta ya tiene una respuesta aquí:
- Serializar y deserializar Json y Json Array en Unity 5 respuestas
Tengo un problema al analizar este json:
{
"product_info":
{
"title": "Product Name"
}
}
aquí está mi código:
using UnityEngine;
using System.Collections;
using System.IO;
using System.Net;
using UnityEngine.UI;
public class ReadJson : MonoBehaviour
{
public Text myText;
[System.Serializable]
public class ProductInfo
{
public string title { get; set; }
}
[System.Serializable]
public class RootObject
{
public ProductInfo product_info { get; set; }
}
void Start () {
TextAsset asset = Resources.Load (Path.Combine ("Json", "toulouse")) as TextAsset;
RootObject m = JsonUtility.FromJson<RootObject> (asset.text);
Debug.Log (m.product_info.title);
}
}
Recibo este mensaje de error: "Referencia de objeto no establecida en una instancia de un objeto". Ya lo intenté, con éxito para analizar un json no anidado, pero no no entiendo por qué, pero no funciona incluso después de haber creado la clase apropiada.
La implementación JSON de Unity es muy similar a lo que un niño pequeño escribiría para su proyecto CS1. Es "deficiente" en el mejor de los casos para un uso JSON serio ... ;-)
Recomiende usar: http://u3d.as/5q2 si puede ponerse al día.
O ... use https://github.com/Bekwnn/UnityJsonHelper si desea seguir con la implementación JSON de Unity. Esta biblioteca resuelve el problema exacto que describes.