Cartero: envío de objetos JSON anidados


Respuestas:


175

Envíelo como datos sin procesar y establezca el tipo en application/json

ingrese la descripción de la imagen aquí


3
¿Qué sucede realmente cuando estos datos se envían como sin procesar? ¿Dónde y cómo se almacena en la solicitud?
Anthony al

Usaría un proxy web para ver eso si tienes curiosidad (por ejemplo: fiddler en Windows, charles proxy en mac)
standup75

1
¿Cómo agrego un archivo de imagen en la solicitud JSON sin procesar?
Shikhar Varshney

Sí, ¿cómo agregamos / cargamos imágenes con una solicitud JSON sin procesar? @ Shikharvarshney ¿Encontraste una mejor manera?
Shahabaz

113

Para publicar un objeto anidado con la interfaz clave-valor, puede usar un método similar para enviar matrices. Pase una clave de objeto entre corchetes después del índice de objeto.

Pasar un elemento anidado con Cartero

"Items": [
      {
        "sku": "9257",
        "Price": "100"
      }
 ]

8
Esta es la mejor respuesta en mi humilde opinión ... La más fácil y manejable.
AturSams

2
Esto es lo que estaba buscando, sólo que tenía que escribir artículos [SKU] en lugar de elementos [0] [Código]
Grom

77
En mi caso, tenía un objeto anidado llamado ubicación con ciudad, estado y país. Tuve que escribir location.city, location.state, etc.
Aafreen Sheikh

36

Lo hice funcionar usando la opción de datos sin procesar en cartero, como se puede ver en la captura de pantalla

ingrese la descripción de la imagen aquí


Esto es perfecto
Sachin Pakale

Esto es perfecto
dvn

27

Esta es una combinación de lo anterior, porque tuve que leer varias publicaciones para entender.

  1. En los encabezados , agregue los siguientes valores-clave:
    1. Content-Type a application/json
    2. y Acceptparaapplication/json

ingrese la descripción de la imagen aquí

  1. En el cuerpo :
    1. cambia el tipo a "sin procesar"
    2. confirmar "JSON (application / json)" es el tipo de texto
    3. ponga la propiedad anidada allí: { "Obj1" : { "key1" : "val1" } }

ingrese la descripción de la imagen aquí

¡Espero que esto ayude!


3
Debería ser application/json, noapplications
NoobTW

@TBirkulosis: Con su enfoque, Json no será enviado con Header
Arpan

26

El par clave-valor puede tomar entradas avanzadas.

Ex.

ingrese la descripción de la imagen aquí


1
Muchas gracias, pensé que esto estaría allí, pero estaba intentando hacer anotaciones de puntos. Esta es ciertamente la respuesta correcta
Jack Franzen


9

Seleccione la pestaña del cuerpo y seleccione application / json en el menú desplegable Tipo de contenido y agregue un cuerpo como este:

{
  "Username":"ABC",
  "Password":"ABC"
}

ingrese la descripción de la imagen aquí


7

Solo quería agregar un problema más que algunas personas podrían encontrar además de todas las otras respuestas. Enviar un objeto JSON utilizando datos RAW y establecer el tipo enapplication/json es lo que se debe hacer como se mencionó anteriormente.

Aunque lo hice, recibí un error en la solicitud POSTMAN, fue porque accidentalmente olvidé crear un constructor predeterminado para ambas clases secundarias.

Digamos si tuviera que enviar un JSON de formato:

{
 "firstname" : "John",
 "lastname" : "Doe",
 "book":{
   "name":"Some Book",
   "price":12.2
  }
}

Luego, solo asegúrese de crear un constructor predeterminado para la clase Book.

Sé que este es un error simple y poco común, pero ciertamente me ayudó.


5

La mejor manera de hacer eso:

  1. En los encabezados, agregue los siguientes valores-clave:

    Content-Type to applications/json
    Accept to applications/json
  2. Debajo del cuerpo, haga clic rawy escriba tipo desplegable paraapplication/json

También PFA para el mismo

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí


4

Para un Json anidado (ejemplo a continuación), puede formar una consulta usando cartero como se muestra a continuación.

{
    "Items": {
        "sku": "10 Units",
        "Price": "20 Rs"
    },
    "Characteristics": {
        "color": "blue",
        "weight": "2 lb"
    }
}

ingrese la descripción de la imagen aquí


1

En los parámetros he agregado model.Email y model.Password, funciona bien para mí. Gracias por la pregunta Intenté lo mismo en los encabezados no funcionó. Pero funcionó en Body con form-data y x-www-form-urlencoded.

Cartero versión 6.4.4

ingrese la descripción de la imagen aquí



1

Solo para aquellos que desean enviar un objeto JSON anidado con datos de formulario como tipo de contenido.

Quiero enviar un campo personalizado anidado a continuación { "description": "Details about the issue...", "subject": "Support Needed...", "type": "Others", "email": "tom@outerspace.com", "priority": 1, "status": 2, **"custom_fields" : { "cf_type_of_issue" : "Complaint" }**, "cc_emails": ["ram@freshdesk.com","diana@freshdesk.com"] }

ingrese la descripción de la imagen aquí

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.