Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
方法返回不带{quot;d:";元素的JSON_Json_Webget - Fatal编程技术网

方法返回不带{quot;d:";元素的JSON

方法返回不带{quot;d:";元素的JSON,json,webget,Json,Webget,我目前有一个WebGet方法,它使用嵌套的{d:}元素正确返回JSON,有没有办法删除这个 以下是我的服务器端代码和定义JSON返回的类: [OperationContract, WebGet(ResponseFormat = WebMessageFormat.Json)] public List<OpenOrderHeader> GetOpenOrders() { return (from OH in SCMENT.CustomerOrders

我目前有一个WebGet方法,它使用嵌套的{d:}元素正确返回JSON,有没有办法删除这个

以下是我的服务器端代码和定义JSON返回的类:

[OperationContract, WebGet(ResponseFormat = WebMessageFormat.Json)]
    public List<OpenOrderHeader> GetOpenOrders()
    {
        return (from OH in SCMENT.CustomerOrders
                select new OpenOrderHeader()
                {
                    CustomerID = OH.CustomerId,
                    OrderID = OH.CustomerOrderID,
                    OrderUniqueNumber = OH.CustomerOrderUniqueNumber,
                    OrderDateCreated = OH.CustomerOrderDateCreated,
                    OrderDateUpdated = OH.CustomerOrderDateUpdated,
                    OrderLocalOnline = OH.CustomerOrderOnlineOrLocal,
                    BranchID = (int)OH.CustomerOrderLocalBranchID,
                    OrderCurrency = OH.CustomerOrderCurrency,
                    OrderConversionRate = OH.CustomerOrderCurrencyConversionRate,
                    OrderStatus = OH.CustomerOrderStatus
                }
                ).ToList();
    }
JSON:

{
"d": [
    {
        "__type": "OpenOrderHeader:#POS.Tracntrace.Member_Only.DAL.Models.Order",
        "BranchID": -1,
        "CustomerID": -1,
        "DiscountExclTax": 0,
        "DiscountInclTax": 0,
        "NumberOfProductsOnOrder": 0,
        "OrderConversionRate": 1,
        "OrderCurrency": "ZAR",
        "OrderDateCreated": "/Date(1359696634387+0200)/",
        "OrderDateUpdated": "/Date(1359703834253+0200)/",
        "OrderID": 1,
        "OrderLocalOnline": "ONLINE",
        "OrderStatus": 10,
        "OrderUniqueNumber": 10,
        "PaymentFeeExclTax": 0,
        "PaymentFeeInclTax": 0,
        "PaymentMethod": null,
        "ShippingExclTax": 0,
        "ShippingInclTax": 0,
        "SubTotalExclTax": 0,
        "SubTotalInclTax": 0
    },
    {
        "__type": "OpenOrderHeader:#POS.Tracntrace.Member_Only.DAL.Models.Order",
        "BranchID": -1,
        "CustomerID": -1,
        "DiscountExclTax": 0,
        "DiscountInclTax": 0,
        "NumberOfProductsOnOrder": 0,
        "OrderConversionRate": 1,
        "OrderCurrency": "ZAR",
        "OrderDateCreated": "/Date(1359712050660+0200)/",
        "OrderDateUpdated": "/Date(1359719250317+0200)/",
        "OrderID": 2,
        "OrderLocalOnline": "ONLINE",
        "OrderStatus": 10,
        "OrderUniqueNumber": 11,
        "PaymentFeeExclTax": 0,
        "PaymentFeeInclTax": 0,
        "PaymentMethod": null,
        "ShippingExclTax": 0,
        "ShippingInclTax": 0,
        "SubTotalExclTax": 0,
        "SubTotalInclTax": 0
    },
    {
        "__type": "OpenOrderHeader:#POS.Tracntrace.Member_Only.DAL.Models.Order",
        "BranchID": -1,
        "CustomerID": -1,
        "DiscountExclTax": 0,
        "DiscountInclTax": 0,
        "NumberOfProductsOnOrder": 0,
        "OrderConversionRate": 1,
        "OrderCurrency": "ZAR",
        "OrderDateCreated": "/Date(1359713291023+0200)/",
        "OrderDateUpdated": "/Date(1359720490673+0200)/",
        "OrderID": 3,
        "OrderLocalOnline": "ONLINE",
        "OrderStatus": 10,
        "OrderUniqueNumber": 12,
        "PaymentFeeExclTax": 0,
        "PaymentFeeInclTax": 0,
        "PaymentMethod": null,
        "ShippingExclTax": 0,
        "ShippingInclTax": 0,
        "SubTotalExclTax": 0,
        "SubTotalInclTax": 0
    },
    {
        "__type": "OpenOrderHeader:#POS.Tracntrace.Member_Only.DAL.Models.Order",
        "BranchID": -1,
        "CustomerID": -1,
        "DiscountExclTax": 0,
        "DiscountInclTax": 0,
        "NumberOfProductsOnOrder": 0,
        "OrderConversionRate": 1,
        "OrderCurrency": "ZAR",
        "OrderDateCreated": "/Date(1359947946093+0200)/",
        "OrderDateUpdated": "/Date(1359955145467+0200)/",
        "OrderID": 4,
        "OrderLocalOnline": "ONLINE",
        "OrderStatus": 10,
        "OrderUniqueNumber": 13,
        "PaymentFeeExclTax": 0,
        "PaymentFeeInclTax": 0,
        "PaymentMethod": null,
        "ShippingExclTax": 0,
        "ShippingInclTax": 0,
        "SubTotalExclTax": 0,
        "SubTotalInclTax": 0
    },
    {
        "__type": "OpenOrderHeader:#POS.Tracntrace.Member_Only.DAL.Models.Order",
        "BranchID": -1,
        "CustomerID": -1,
        "DiscountExclTax": 0,
        "DiscountInclTax": 0,
        "NumberOfProductsOnOrder": 0,
        "OrderConversionRate": 1,
        "OrderCurrency": "ZAR",
        "OrderDateCreated": "/Date(1359948641833+0200)/",
        "OrderDateUpdated": "/Date(1359955841153+0200)/",
        "OrderID": 5,
        "OrderLocalOnline": "ONLINE",
        "OrderStatus": 10,
        "OrderUniqueNumber": 14,
        "PaymentFeeExclTax": 0,
        "PaymentFeeInclTax": 0,
        "PaymentMethod": null,
        "ShippingExclTax": 0,
        "ShippingInclTax": 0,
        "SubTotalExclTax": 0,
        "SubTotalInclTax": 0
    },
    {
        "__type": "OpenOrderHeader:#POS.Tracntrace.Member_Only.DAL.Models.Order",
        "BranchID": -1,
        "CustomerID": -1,
        "DiscountExclTax": 0,
        "DiscountInclTax": 0,
        "NumberOfProductsOnOrder": 0,
        "OrderConversionRate": 1,
        "OrderCurrency": "ZAR",
        "OrderDateCreated": "/Date(1359948752250+0200)/",
        "OrderDateUpdated": "/Date(1359955951577+0200)/",
        "OrderID": 6,
        "OrderLocalOnline": "ONLINE",
        "OrderStatus": 10,
        "OrderUniqueNumber": 15,
        "PaymentFeeExclTax": 0,
        "PaymentFeeInclTax": 0,
        "PaymentMethod": null,
        "ShippingExclTax": 0,
        "ShippingInclTax": 0,
        "SubTotalExclTax": 0,
        "SubTotalInclTax": 0
    },
    {
        "__type": "OpenOrderHeader:#POS.Tracntrace.Member_Only.DAL.Models.Order",
        "BranchID": -1,
        "CustomerID": -1,
        "DiscountExclTax": 0,
        "DiscountInclTax": 0,
        "NumberOfProductsOnOrder": 0,
        "OrderConversionRate": 1,
        "OrderCurrency": "ZAR",
        "OrderDateCreated": "/Date(1359948895973+0200)/",
        "OrderDateUpdated": "/Date(1359956095290+0200)/",
        "OrderID": 7,
        "OrderLocalOnline": "ONLINE",
        "OrderStatus": 10,
        "OrderUniqueNumber": 16,
        "PaymentFeeExclTax": 0,
        "PaymentFeeInclTax": 0,
        "PaymentMethod": null,
        "ShippingExclTax": 0,
        "ShippingInclTax": 0,
        "SubTotalExclTax": 0,
        "SubTotalInclTax": 0
    },
    {
        "__type": "OpenOrderHeader:#POS.Tracntrace.Member_Only.DAL.Models.Order",
        "BranchID": -1,
        "CustomerID": -1,
        "DiscountExclTax": 0,
        "DiscountInclTax": 0,
        "NumberOfProductsOnOrder": 0,
        "OrderConversionRate": 1,
        "OrderCurrency": "ZAR",
        "OrderDateCreated": "/Date(1359949020693+0200)/",
        "OrderDateUpdated": "/Date(1359956220013+0200)/",
        "OrderID": 8,
        "OrderLocalOnline": "ONLINE",
        "OrderStatus": 10,
        "OrderUniqueNumber": 17,
        "PaymentFeeExclTax": 0,
        "PaymentFeeInclTax": 0,
        "PaymentMethod": null,
        "ShippingExclTax": 0,
        "ShippingInclTax": 0,
        "SubTotalExclTax": 0,
        "SubTotalInclTax": 0
    },
    {
        "__type": "OpenOrderHeader:#POS.Tracntrace.Member_Only.DAL.Models.Order",
        "BranchID": -1,
        "CustomerID": -1,
        "DiscountExclTax": 0,
        "DiscountInclTax": 0,
        "NumberOfProductsOnOrder": 0,
        "OrderConversionRate": 1,
        "OrderCurrency": "USD",
        "OrderDateCreated": "/Date(1359957893433+0200)/",
        "OrderDateUpdated": "/Date(1359965238550+0200)/",
        "OrderID": 9,
        "OrderLocalOnline": "ONLINE",
        "OrderStatus": 40,
        "OrderUniqueNumber": 1,
        "PaymentFeeExclTax": 0,
        "PaymentFeeInclTax": 0,
        "PaymentMethod": null,
        "ShippingExclTax": 0,
        "ShippingInclTax": 0,
        "SubTotalExclTax": 0,
        "SubTotalInclTax": 0
    }
]
}

从你所说的,我认为这样的事情应该能解决你的问题:

JSONObject returnedObject = Your JSON data as returned from the server

JSONArray desiredArray = returnedObject.getJSONArray("d");

//retrieve the data and results from the JSONArray
for (int jsonCounter = 0; jsonCounter < desiredArray.length(); jsonCounter++) { 
    //Get the next object
    JSONObject nextobj = desiredArray.getJSONObject(jsonCounter);

    //Get the data
    item1= nextobj.getString("__type");
    item2= nextobj.getString("BranchID");
    etc......
}
JSONObject returnedObject=从服务器返回的JSON数据
JSONArray desiredaray=returnedObject.getJSONArray(“d”);
//从JSONArray检索数据和结果
对于(int-jsonCounter=0;jsonCounter

这是您提取数据的基本结构。从您发布的代码中,我不确定这会用到哪里,但这应该足以帮助您提取数据。还要记住,上面的代码是在Android中使用附带的JSON解析器编写的,因此需要进行一些修改,以使其与dif一起工作ferent library

根据您所说的,我认为这样的事情应该可以解决您的问题:

JSONObject returnedObject = Your JSON data as returned from the server

JSONArray desiredArray = returnedObject.getJSONArray("d");

//retrieve the data and results from the JSONArray
for (int jsonCounter = 0; jsonCounter < desiredArray.length(); jsonCounter++) { 
    //Get the next object
    JSONObject nextobj = desiredArray.getJSONObject(jsonCounter);

    //Get the data
    item1= nextobj.getString("__type");
    item2= nextobj.getString("BranchID");
    etc......
}
JSONObject returnedObject=从服务器返回的JSON数据
JSONArray desiredaray=returnedObject.getJSONArray(“d”);
//从JSONArray检索数据和结果
对于(int-jsonCounter=0;jsonCounter

这是您提取数据的基本结构。从您发布的代码中,我不确定这会用到哪里,但这应该足以帮助您提取数据。还要记住,上面的代码是在Android中使用附带的JSON解析器编写的,因此需要进行一些修改,以使其与dif一起工作ferent library

你说的“删除”是什么意思?就像在获取对象中一样?是的,只要使用JSON解析器(GSON或JSON.simple是两个好的解析器)使用标记“d”来提取JSONArray就行了。不,我是说删除d,所以它只显示:[jsondata]如果没有dAgain,您想要这个对象如何?正如我所说的,您可以使用上面的一个库提取JSONArray,然后您就得到了一个JSONArray,正如您所说的[jsondata]。如果您想要字符串,您只需使用
.toString()
method,它将为您提供一个JSONstring,它只是JSON数据,您认为“remove”是什么意思?就像在获取对象中一样?是的,只需使用JSON解析器(GSON或JSON.simple是两个很好的解析器)就可以使用标记“d”提取JSONArray。不,我的意思是删除d,因此它只显示:[jsondata]如果没有dAgain,您想要这个对象如何?正如我所说的,您可以使用上面的一个库提取JSONArray,然后您就得到了一个JSONArray,正如您所说的[jsondata]。如果您想要字符串,您只需使用
.toString()
方法,它将为您提供一个JSONstring,它就是JSON数据