如何将json发布到服务器Unity WWW WWW字符串具有无效参数

时间:2016-11-16 18:53:41

标签: c# json curl unity5

我希望将这个json发布到服务器并获得一些json作为回报。我不知道我错过了什么,但我有一个编译错误,UnityEngine.WWW.WWW(string)的最佳重载方法匹配有一些无效的参数

using UnityEngine;
using System.Collections;
using UnityEngine.Networking;
public class Post_Server_Test : MonoBehaviour
{
    void Start()
    {
        StartCoroutine(SendJson());
    }
    IEnumerator SendJson()
    {
        WWWForm form = new WWWForm ();
        form.AddField("offer_message", "Hello world");
        form.AddField("offer_name", "Great Deals");
        form.AddField("start", "20171015 103025 UTC");
        form.AddField("end", "20171015 103025 UTC");
        form.AddField("type", "self");
        form.AddField("value", "transport");
        form.AddField("amount", "1.00");
        yield return "start";

        WWW w = new WWW (form);
        yield return w;
        if (!string.IsNullOrEmpty(w.error))
        {
            print(w.error);
        }
        else
        {
            print("json sent to server");
        }
    }

    public void OnConnectedToServer()
    {
        Debug.Log("Im connected");
    }
}

2 个答案:

答案 0 :(得分:0)

您正在此处创建WWWForm类型的实例:

WWWForm form = new WWWForm ();

然后,您将此对象作为参数提供给WWW的构造函数:

WWW w = new WWW (form);

该构造函数的签名接受字符串参数。这与json,curl甚至WWW类无关。这是一种类型不匹配。

答案 1 :(得分:0)

您必须将URL传递给WWW对象的构造函数,表单是第二个参数。

WWW w = new WWW ("http://example.com/scores", form);