The answer from German was very useful, but I made some adjustments so that it compiles and starts (with serial serialization / deserialization bits).
Just go to BaseUrl that you want to send, for example, http://www.domain.com/somecontroller/someaction or something else.
using System; using System.Text; using System.Collections; using System.Collections.Generic; using UnityEngine; [Serializable] public class Person { public string Name; } [Serializable] public class Response { public string SomeValue; } public class PostJSON : MonoBehaviour { public string BaseUrl; private WWWForm form; private Dictionary<string, string> headers = null; void Start () { var basUrlNotSpecified = string.IsNullOrEmpty(BaseUrl); if(basUrlNotSpecified) { Debug.LogWarning("BaseUrl value not specified. Post abandoned."); return; } form = new WWWForm(); headers = form.headers; headers["Content-Type"] = "application/json"; headers["Accept"] = "application/json"; var person = new Person { Name = "Iulian Palade" }; var json = JsonUtility.ToJson(person); byte[] bytes = Encoding.UTF8.GetBytes(json); WWW www = new WWW(BaseUrl, bytes, headers); StartCoroutine(WaitForRequest(www)); } IEnumerator WaitForRequest(WWW www) { yield return www; if (www.error == null) { Debug.Log("WWW Ok!: " + www.text); var response = JsonUtility.FromJson<Response>(www.text); Debug.Log(response.SomeValue); } else { Debug.Log("WWW Error: "+ www.error); } } }
Albert swart
source share