I have an issue parsing this json :
{
"product_info":
{
"title": "Product Name"
}
}
here is my code :
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);
}
}
I receive this error message : "Object reference not set to an instance of an object". I already tried, with success to parse a not nested json but not I don't understand why but doesn't work even after created the appropriated class.
The JsonUtility does not support properties. Just remove the { get; set;}
[System.Serializable]
public class ProductInfo
{
public string title;
}
[System.Serializable]
public class RootObject
{
public ProductInfo product_info;
}
Unity's JSON implementation is much like what a small child would write for their CS1 project. It's "lacking" at best for any serious JSON usage... ;-)
Recommend using: JSON .NET For Unity if you can pony up for it.
Or... use https://github.com/Bekwnn/UnityJsonHelper if you wish to stick with Unity's JSON implementation. This library solves the exact problem you describe.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With