【问题标题】:how to get the values in json array in mvc3 controller?如何在 mvc3 控制器中获取 json 数组中的值?
【发布时间】:2013-08-29 06:03:36
【问题描述】:

我有一个包含 Json 结果的结果。 Json结果如下。

      <string xmlns="http://tempuri.org/">
        {"Method":"LOGIN_AUTHENTICATE Start :8/29/2013 1:23:46 AM 
          ASW :8/29/2013 1:23:46 AM P21 :8/29/2013 1:23:50 AM End :8/29/2013 1:23:50AM",
        "ResponseCode":0,"ResponseText":"","HomeBannerURL":"http://example.com/example/",
        "resAccount":[{"shopper_uid":1877,"customer_code":"10950",
         "customer_name":"JASPER ACCOUNT",
         "contact_id":6449,"first_name":"jasper","last_name":"manickaraj",
         "email_address":"exam@example.com","password_hint":"name",
         "default_shipping_method_uid":110,"password":"abc123",
         "default_ship_to_address_id":"150"}],
         "resCategories":
 [{"item_category_uid":123,
        "item_category_desc":"EFG",
        "Total":0,"sub_category_image":"",
        "sub_category_thumb":""},
 {"item_category_uid":1,
        "item_category_desc":"ABC",
        "Total":0,"sub_category_image":"",
        "sub_category_thumb":""},
 {"item_category_uid":2,
        "item_category_desc":"BCD",
        "Total":0,"sub_category_image":"",
        "sub_category_thumb":""},
 {"item_category_uid":3,
        "item_category_desc":"CDE",
        "Total":0,"sub_category_image":"",
        "sub_category_thumb":""}]}
    <string>

现在我将上述结果分配给 var Jsonresult; 现在我需要从 Jsonresult 获取 customer_name、first_name .. 结果如何.. 请帮我解决这个问题..

【问题讨论】:

  • Jsonresult.customer_name 不起作用?

标签: c# javascript asp.net-mvc json asp.net-mvc-3


【解决方案1】:

使用 JavaScriptSerializer 来实现这个功能。 首先,您必须定义一些实体,例如。

public class RequestObj
{
    public string Method { get; set; }
    public string ResponseCode { get; set; }
    public string HomeBannerURL { get; set; }

    public IList<Account> ResAccount { get; set; }
}

public class Account
{

    public string shopper_uid { get; set; }

    public string customer_name { get; set; }

    public string first_name { get; set; }
}

其次,你可以反序列化你的字符串。

var scriptSerializer = new JavaScriptSerializer();
var obj = scriptSerializer.Deserialize<RequestObj>(str);

【讨论】:

    【解决方案2】:

    好的,你必须在你的项目中添加json.net dll,你这样写代码:

    var obj = JsonConvert.DeserializeObject<Dictionary<string, object>>(str.ToString());
    

    【讨论】:

    • json.net dll 不可用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-28
    相关资源
    最近更新 更多