我必须以这种格式在Json中创建一个帖子请求。
{
"request": {
"application": "APPLICATION_CODE",
"auth": "API_ACCESS_TOKEN",
"notifications": [{
"send_date": "now", // YYYY-MM-DD HH:mm OR 'now'
"ignore_user_timezone": true, // or false
"content": "Hello world!"
}]
}
}
这是我第一次序列化Json String并且我不知道如何做到这一点,我尝试了一些不同的东西但却无法获得确切的格式。
非常感谢任何帮助。
谢谢!
答案 0 :(得分:1)
首先,你不能对json文件发表评论,但我想它现在就在那里。
然后你可以将你的json粘贴到这样的转换器中http://json2csharp.com/ 你得到以下内容:
public class Notification
{
public string send_date { get; set; }
public bool ignore_user_timezone { get; set; }
public string content { get; set; }
}
public class Request
{
public string application { get; set; }
public string auth { get; set; }
public List<Notification> notifications { get; set; }
}
public class RootObject
{
public Request request { get; set; }
}
现在您需要解决JsonUtility所需的一些问题:
[Serializable]
public class Notification
{
public string send_date;
public bool ignore_user_timezone;
public string content;
}
[Serializable]
public class Request
{
public string application;
public string auth;
public List<Notification> notifications;
}
[Serializable]
public class RootObject
{
public Request request;
}
最后:
RootObject root = JsonUtility.FromJson<RootObject>(jsonStringFile);
答案 1 :(得分:0)
你也可以像这样使用SimpleJSON;
string GetRequest () {
JSONNode root = JSONNode.Parse("{}");
JSONNode request = root ["request"].AsObject;
request["application"] = "APPLICATION_CODE";
request["auth"] = "API_ACCESS_TOKEN";
JSONNode notification = request ["notifications"].AsArray;
notification[0]["send_date"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm");
notification[0]["ignore_user_timezone"] = "true";
notification[0]["content"] = "Hello world!";
return root.ToString ();
}