Hi,
I want to create a json string from a structure of classes.
The point is that the result is not that what i want.
The result has to be like that;
{"vfbs":[{"url":"ButtonInputPrefab","pattern":"test-pattern","orientation":{"x":0.0,"y":0.0,"z":0.0},"size":{"x":0.0,"y":0.0},"position":{"x":1024.0,"y":786.0,"z":0.0}}]}
and what I get is this:
{"vfbs":[{"url":"ButtonInputPrefab","pattern":"test-pattern","orientation":{"x":0.0,"y":0.0,"z":0.0},"size":{"x":0.0,"y":0.0},"position":{"x":0.0,"y":0.0,"z":0.0}}]}
The differences are in the position area or the other classes inside of the classes.
using UnityEngine;
using System.Collections;
using UnityEngine.Networking;
using System;
using System.Collections.Generic;
public class Test : MonoBehaviour
{
public GameObject textInput;
public string gameState;
public MainObjectData mainObject;
List<InnerObjectData> objectList = new List<InnerObjectData>();
void GetJson()
{
objectList.Add(createSubObject(this.name, "test-origin", 0.0f, 0.0f, 0.0f, 1024.0f, 768.0f, 0.0f, 0.0f, 0.0f));
mainObject.vfbs = objectList.ToArray();
string test = objectList.ToString();
Debug.Log("Test = " + test);
string generatedJsonString = JsonUtility.ToJson(mainObject);
Debug.Log("generatedJsonString: " + generatedJsonString);
}
public InnerObjectData createSubObject(string url, string origin, float orientationx, float orientationy, float orientationz, float sizex, float sizey, float positionx, float positiony, float positionz)
{
Debug.Log( url + origin + orientationx + orientationy + orientationz + sizex + sizey + positionx + positiony + positionz);
InnerObjectData myInnerObject = new InnerObjectData();
Orientation OrientationObject = new Orientation();
Size SizeObject = new Size();
Position PositionObject = new Position();
myInnerObject.url = url;
myInnerObject.origin = origin;
OrientationObject.x = orientationx;
OrientationObject.y = orientationy;
OrientationObject.z = orientationz;
SizeObject.x = sizex;
SizeObject.y = sizey;
PositionObject.x = positionx;
PositionObject.y = positiony;
PositionObject.z = positionz;
return myInnerObject;
}
}
[System.Serializable]
public class MainObjectData
{
public InnerObjectData[] vfbs;
}
[System.Serializable]
public class InnerObjectData
{
public string url;
public string origin;
public Orientation orientation;
public Size size;
public Position position;
}
[System.Serializable]
public class Orientation
{
public float x;
public float y;
public float z;
}
[System.Serializable]
public class Size
{
public float x;
public float y;
}
[System.Serializable]
public class Position
{
public float x;
public float y;
public float z;
}
Can somebody help me there?
Thanks Pad