在vb.net或C#中处理api输出

克雷格

进行api调用后,以下示例显示了典型的响应。

    {
   "code":"success",
   "message":"Data retrieved for email",
   "data":{
      "attributes":{
         "EMAIL":"[email protected]",
         "NAME" : "Name",
         "SURNAME" : "surname"
      },
      "blacklisted":1,
      "email":"[email protected]",
      "entered":"2014-01-15",
      "listid":[8],
      "message_sent":[{ 
            "camp_id" : 2,
            "event_time" : "2013-12-18"
          },
          { "camp_id" : 8,
            "event_time" : "2014-01-03"
          },
          { "camp_id" : 11,
            "event_time" : "2014-01-07"
          }],
      "hard_bounces":[{ 
            "camp_id" : 11,
            "event_time" : "2014-01-07"
          }],
      "soft_bounces":[],
      "spam":[{ 
            "camp_id" : 2,
            "event_time" : "2014-01-09"
          }],
      "unsubscription":{
         "user_unsubscribe":[
            {
               "event_time":"2014-02-06",
               "camp_id":2,
               "ip":"1.2.3.4"
            },
            {
               "event_time":"2014-03-06",
               "camp_id":8,
               "ip":"1.2.3.4"
            }
         ],
         "admin_unsubscribe":[
            {
               "event_time":"2014-04-06",
               "ip":"5.6.7.8"
            },
            {
               "event_time":"2014-04-16",
               "ip":"5.6.7.8"
            }
         ]
      },
      "opened":[{ 
            "camp_id" : 8,
            "event_time" : "2014-01-03",
            "ip" : "1.2.3.4"
          }],
      "clicks":[],
      "transactional_attributes":[
         {
            "ORDER_DATE":"2015-07-01",
            "ORDER_PRICE":100000,
            "ORDER_ID":"1"
         },
         {
            "ORDER_DATE":"2015-07-05",
            "ORDER_PRICE":500000,
            "ORDER_ID":"2"
         }
      ],
      "blacklisted_sms":1
   }
}

我需要做的是能够读取/查找属性名称及其对应的值。我还需要知道列入黑名单的价值。

我不知道如何解释给定的输出,以轻松查找和读取属性及其值,并获得列入黑名单的值。

也许我可以将其放入数组中,就可以在数组中循环查找所需的值对?或者,也许我想得太多,而他们是一个更简单的方法。

请注意:此示例仅显示3个attribute:value对。其他调用可能会输出三个以上的attribute:value对。

莫希特·什里瓦斯塔瓦(Mohit Shrivastava)

最简单的方法是:您以JSON格式获取响应,并且只需要使用类和Json.NET将其序列化即可。

public class Rootobject
{
    public string code { get; set; }
    public string message { get; set; }
    public Data data { get; set; }
}
public class Data
{
    public Attributes attributes { get; set; }
    public int blacklisted { get; set; }
    public string email { get; set; }
    public string entered { get; set; }
    public int[] listid { get; set; }
    public Message_Sent[] message_sent { get; set; }
    public Hard_Bounces[] hard_bounces { get; set; }
    public object[] soft_bounces { get; set; }
    public Spam[] spam { get; set; }
    public Unsubscription unsubscription { get; set; }
    public Opened[] opened { get; set; }
    public object[] clicks { get; set; }
    public Transactional_Attributes[] transactional_attributes { get; set; }
    public int blacklisted_sms { get; set; }
}
public class Attributes
{
    public string EMAIL { get; set; }
    public string NAME { get; set; }
    public string SURNAME { get; set; }
}
public class Unsubscription
{
    public User_Unsubscribe[] user_unsubscribe { get; set; }
    public Admin_Unsubscribe[] admin_unsubscribe { get; set; }
}
public class User_Unsubscribe
{
    public string event_time { get; set; }
    public int camp_id { get; set; }
    public string ip { get; set; }
}
public class Admin_Unsubscribe
{
    public string event_time { get; set; }
    public string ip { get; set; }
}
public class Message_Sent
{
    public int camp_id { get; set; }
    public string event_time { get; set; }
}
public class Hard_Bounces
{
    public int camp_id { get; set; }
    public string event_time { get; set; }
}
public class Spam
{
    public int camp_id { get; set; }
    public string event_time { get; set; }
}
public class Opened
{
    public int camp_id { get; set; }
    public string event_time { get; set; }
    public string ip { get; set; }
}
public class Transactional_Attributes
{
    public string ORDER_DATE { get; set; }
    public int ORDER_PRICE { get; set; }
    public string ORDER_ID { get; set; }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章