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í

standup75
fuente
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"
      }
 ]
Peyotle
fuente
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í

ImranNaqvi
fuente
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!

TBirkulosis
fuente
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í

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

Simplemente agregue estos parámetros: en la opción de encabezado de la solicitud, agregueContent-Type:application/json

encabezado contenido tipo cartero json

y en el cuerpo , seleccione el formato Raw y ponga sus parámetros json como{'guid':'61791957-81A3-4264-8F32-49BCFB4544D8'}

json solicite cartero

He encontrado la solución en http://www.iminfo.in/post/post-json-postman-rest-client-chrome

Ema.H
fuente
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í

Suraj Kshirsagar
fuente
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ó.

bhanushrestha
fuente
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í

techyaura
fuente
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í

Arpan
fuente
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í

Kapila Perera
fuente
1

podemos enviar json anidados como el siguiente formato

dirección [ciudad] dirección [estado]

Atchutha rama reddy Karri
fuente
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": "[email protected]", "priority": 1, "status": 2, **"custom_fields" : { "cf_type_of_issue" : "Complaint" }**, "cc_emails": ["[email protected]","[email protected]"] }

ingrese la descripción de la imagen aquí

Muhammad Maqsood
fuente