【问题标题】:how to read json array in wcf rest service如何在 wcf 休息服务中读取 json 数组
【发布时间】:2016-03-11 09:33:04
【问题描述】:

我正在使用 wcf rest 服务从 android 应用程序获取数据,我正在从 android 应用程序获取 json 数组,但是当我读取数据时它获取数组计数 0,抛出错误:解析值时遇到意外字符:R.Path ' ',第 0 行,第 0 位。Android 应用程序获取响应错误是:服务器在处理请求时遇到错误。有关详细信息,请参阅服务器日志。

这是我的休息服务:

[OperationContract]
        [WebInvoke(Method = "POST", UriTemplate = "finalProductList", RequestFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Bare)]
        string finalProductList(Productdetails[] objprod);

public string finalProductList(Productdetails[]  objprod)
        {

                BasicConfigurator.Configure();
                log.Info("finalProductList method fired ");

                log.Info(objprod.Length);
                log.Info(objprod);
                StringBuilder sb = new StringBuilder();
                sb.Append("\"jsonResult\":[");
                int result = 0;
                string json = objprod.ToString();
                log.Info(json);
                JObject rss = JObject.Parse(json);
                log.Info(rss);
                JArray items = (JArray)rss["finalProductList"];
}

我尝试使用 object[] 数组和 List 也得到相同的计数 0 和 null。

这是 json 响应:

{
       "objprod": [{
               "username": "Surendra",
               "product_id": "10044",
               "product_mrp": "35.00",
               "prd_entertotalqnty": "77.4",
               "product_name": "DOUBLE TONED MILK (HNB) SACHET 200 ML",
               "prd_remnfreeqnty": "44.75",
               "merchantId": "160000",
               "prd_Total": "775.25",
               "prd_enterfreeqnty": "55.25",
               "prd_enterqnty": "22.15",
               "prd_avlfreeqnty": "100",
               "count_id": "1",
               "merchantname": "ABCD MILK"
       }, {
               "username": "Surendra",
               "product_id": "10011",
               "product_mrp": "20.00",
               "prd_entertotalqnty": "5.5",
               "product_name": "FCM SACHET 500 ML",
               "prd_remnfreeqnty": "4",
               "merchantId": "160000",
               "prd_Total": "70",
               "prd_enterfreeqnty": "2",
               "prd_enterqnty": "3.5",
               "prd_avlfreeqnty": "6",
               "count_id": "2",
               "merchantname": "ABCD MILK"
       }]
} 

这是我的课:

[数据合约] 公开课产品详情 { [数据成员] 公共 int 商家 ID { 获取;放; }

    [DataMember]
    public int merchant_name { get; set; } 

    [DataMember]
    public decimal prd_entertotalqnty { get; set; } 

    [DataMember]
    public int product_id { get; set; } 

    [DataMember]
    public string product_name { get; set; } 

    [DataMember]
    public decimal prd_remnfreeqnty { get; set; } 

    [DataMember]
    public decimal prd_enterfreeqnty { get; set; } 

    [DataMember]
    public decimal prd_enterqnty { get; set; } 

    [DataMember]
    public decimal prd_avlfreeqnty { get; set; } 

    [DataMember]
    public decimal product_mrp { get; set; } 

    [DataMember]
    public decimal prd_Total { get; set; } 

    [DataMember]
    public int count_id { get; set; } 

}

我在这里做错了什么..1

【问题讨论】:

    标签: c# android arrays json wcf


    【解决方案1】:

    您正在将一个对象列表包装到另一个对象中。 试试这个:

    [{
               "username": "Surendra",
               "product_id": "10044",
               "product_mrp": "35.00",
               "prd_entertotalqnty": "77.4",
               "product_name": "DOUBLE TONED MILK (HNB) SACHET 200 ML",
               "prd_remnfreeqnty": "44.75",
               "merchantId": "160000",
               "prd_Total": "775.25",
               "prd_enterfreeqnty": "55.25",
               "prd_enterqnty": "22.15",
               "prd_avlfreeqnty": "100",
               "count_id": "1",
               "merchantname": "ABCD MILK"
       }, {
               "username": "Surendra",
               "product_id": "10011",
               "product_mrp": "20.00",
               "prd_entertotalqnty": "5.5",
               "product_name": "FCM SACHET 500 ML",
               "prd_remnfreeqnty": "4",
               "merchantId": "160000",
               "prd_Total": "70",
               "prd_enterfreeqnty": "2",
               "prd_enterqnty": "3.5",
               "prd_avlfreeqnty": "6",
               "count_id": "2",
               "merchantname": "ABCD MILK"
       }]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-10
      • 2012-06-28
      相关资源
      最近更新 更多