formato json odata

¿Cómo devolver el formato json desde ODATA?



json formato (9)

"... pero obtengo" No se puede encontrar la página web "utilizando http://test.com/feed2/ODataService.svc/results ? $ format = JSON ..."

no necesitas el $ format = JSON en el Uri.

Simplemente use " http://test.com/feed2/ODataService.svc/results "

(con Aceptar: application / json en el encabezado de la solicitud)

Sé que ODATA puede devolver json pero no estoy seguro si tengo que usar un atributo o una interfaz para hacerlo.

Quiero que lo haga como http://odata.netflix.com/Catalog/Titles ? $ Format = JSON pero mi servicio de odata no devuelve JSON. Cuando lo llamo como www.foo.com/service?$format=json, simplemente devuelve XML.

¿Qué necesito hacer para devolver json con ODATA?


¡Nadie parece estar respondiendo muy limpiamente a tu pregunta aquí!

Desde una página HTML, puede utilizar el siguiente código Javascript / JQuery para que los datos de retorno del Servicio de datos WCF estén en formato JSON;

<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> <script language="javascript" type="text/javascript"> var sURL = "http://YourService.svc/Books(10)"; function testJSONfetch() { $.ajax({ type: "GET", contentType: "application/json; charset=utf-8", datatype: "json", url: sURL, error: bad, success: good, beforeSend: function (XMLHttpRequest) { //Specifying this header ensures that the results will be returned as JSON. XMLHttpRequest.setRequestHeader("Accept", "application/json"); } }); } function good(response) { } function bad(response) { } </script>


... solo use letras minúsculas:

"formato = json"


Debe agregar "Aceptar: aplicación / json" en la sección del encabezado de la solicitud.

Echa un vistazo a este enlace


Descargar e instalar Fiddler.

http://www.fiddler2.com/fiddler2/

Una vez instalado, ábralo, haga clic en la pestaña "Generador de solicitudes" ubicada en el lado derecho de Fiddler.

Insertar esta URL:

http://test.com/feed2/ODataService.svc/results

Tenga en cuenta que NO NECESITA EL? $ Format = JSON

En la sección "Solicitar encabezados", inserte la siguiente línea:

accept: application/json

Presiona el botón grande "Ejecutar" en la parte superior derecha de Fiddler.

Verá los resultados de la solicitud agregada a la lista en el lado izquierdo de Fiddler.

Haga doble clic en la solicitud. El lado derecho de Fiddler cambiará a la pestaña "Inspectores", donde podrá ver los resultados de su solicitud.

Además, ya que está trabajando con Json, es probable que desee descargar e instalar el complemento del visor de Json para Fiddler:

http://jsonviewer.codeplex.com/


Las versiones más recientes de WCF Data Services admiten JSON de forma predeterminada y usted debe tener

Accept: application/json;odata=verbose

en el encabezado de la solicitud.

Accept: application/json

Ya no es suficiente. Más información here .


No es bonito, pero así es como forcé la salida JSON sin usar $ format en la cadena de solicitud:

Request r = new Request(Method.GET, "http://XXXXXXX.svc//Login" + "&UserId=" + "''" + "user" + "''" + "&Password=" + "''" + "password" + "''"); ClientInfo ci = r.getClientInfo(); ArrayList<Preference<MediaType>> accepted = new ArrayList<Preference<MediaType>>(); accepted.add(new Preference<MediaType>(MediaType.APPLICATION_JSON)); ci.setAcceptedMediaTypes(accepted); Client client = new Client(Protocol.HTTP); Response response = client.handle(r); Representation output = response.getEntity();


Respuesta tardía, pero he pasado la última hora tratando de averiguar cómo curvar las API de OData y devolver el resultado como json. El siguiente código recupera el documento en json y lo escribe en un archivo:

-o myfile.html -H "Accept: application/json" http://example.com/api/data?$filter=name eq ''whatever''


Si está utilizando el proveedor ODATA de los Servicios de datos, puede devolver ODATA como JSON fácilmente especificándolo en la URL como se muestra en la muestra que dio: http://odata.netflix.com/Catalog/Titles ? $ Format = JSON

Para hacer esto, use la compatibilidad con JSONp y el formato controlado por URL para la descarga de Servicios de Datos ADO.NET desde MSDN http://code.msdn.microsoft.com/DataServicesJSONP y agregue el decorador JSONPSupportBehavior a su clase de DataService como se muestra a continuación.

[JSONPSupportBehavior] public class MyDataService : DataService<MyContextType> { ...