Hey, i'm currently struggling with JSON parsing.
My json file has been generated with Construct 2, it contains json files (maps) inside this one json (map pack)
Here's an example of a map pack (contains only one map)
{"c2array":true,"size":[1,1,1],"data":[[["{\"c2array\":true,\"size\":[22,9,1],\"data\":[[[\"wall\"],[0],[0],[10],[480],[0],[0],[0],[0]],[[\"wall\"],[0],[470],[860],[10],[0],[0],[0],[0]],[[\"wall\"],[850],[0],[10],[470],[0],[0],[0],[0]],[[\"wall\"],[10],[0],[840],[10],[0],[0],[0],[0]],[[\"wall\"],[160],[190],[110],[140],[0],[0],[0],[0]],[[\"wall\"],[340],[280],[140],[130],[0],[0],[0],[0]],[[\"wall\"],[520],[120],[190],[150],[0],[0],[0],[0]],[[\"plateform\"],[415],[140],[0],[0],[0],[0],[0],[0]],[[\"plateform\"],[195],[160],[0],[0],[0],[1],[5],[5]],[[\"launcher\"],[415],[280],[0],[0],[0],[0],[5],[1]],[[\"ray\"],[15],[90],[0],[0],[0],[0],[5],[1]],[[\"spawn\"],[365],[265],[0],[0],[0],[0],[0],[0]],[[\"mine\"],[465],[280],[0],[0],[0],[0],[5],[0]],[[\"plateformspike\"],[65],[350],[0],[0],[0],[0],[0],[0]],[[\"plateformspike\"],[185],[390],[0],[0],[0],[1],[10],[2]],[[\"spike\"],[520],[185],[0],[0],[270],[0],[0],[0]],[[\"spike\"],[545],[270],[0],[0],[180],[0],[0],[0]],[[\"spike\"],[635],[270],[0],[0],[180],[0],[0],[0]],[[\"spike\"],[710],[175],[0],[0],[90],[0],[0],[0]],[[\"spike\"],[645],[120],[0],[0],[0],[0],[0],[0]],[[\"spike\"],[615],[470],[0],[0],[0],[0],[0],[0]],[[\"flag\"],[225],[190],[0],[0],[0],[0],[0],[0]]]}"]]]}
Now to load this json file i'm using the follow C# script:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
using System;
public class mapLoad : MonoBehaviour {
public string jsonString;
public C2Map valeur;
public bool c2array;
public List size;
public List
- >> data;
/*
JSON Parsing:
X,0 = Type d'objet
X,1 et X,2 = Position X/Y
X,3 et X,4 = Width / Height
*/
// Use this for initialization
void Start () {
jsonString = File.ReadAllText(Application.dataPath + "/Maps/MapFiles/Test/document.json");
C2Map valeur = C2Map.CreateFromJSON(jsonString);
c2array = valeur.c2array;
size = valeur.size;
data = valeur.data;
}
// Update is called once per frame
void Update () {
}
}
[System.Serializable]
public class C2Map
{
public bool c2array;
public List
- >> data;
public static C2Map CreateFromJSON(string jsonString)
{
return JsonUtility.FromJson