方法返回不带{quot;d:";元素的JSON
我目前有一个WebGet方法,它使用嵌套的{d:}元素正确返回JSON,有没有办法删除这个 以下是我的服务器端代码和定义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
[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数据