บุรุษไปรษณีย์: ส่งวัตถุ JSON ที่ซ้อนกัน


153

ฉันใช้ ASP.NET Web API: http://xyzdomain.com:16845/api/returns/returns

ฉันจะส่งคำขอ POST ไปยังปลายทางโดยใช้ส่วนขยาย Postman Chrome ได้อย่างไรItemsคอลเลกชันที่ได้รับ:

[
  {
    "Items": [
      {
        "sku": "9257",
        "Price": "100",
        "Quantity": "500",
        "DiscountPercent": "1",
        "backordered": "2"
      }
    ],
    "order_id": "F429768865001",
    "status_code": "Shelf",
    "Exception": "no error"
  }
]

คำตอบ:


175

ส่งเป็นข้อมูลดิบและตั้งค่าเป็น application/json

ป้อนคำอธิบายรูปภาพที่นี่


3
เกิดอะไรขึ้นจริงเมื่อข้อมูลนี้ถูกส่งเป็นข้อมูลดิบ มันถูกเก็บไว้ที่ไหนและอย่างไรในคำขอ?
Anthony ถึง

ฉันต้องการใช้พร็อกซี่เว็บเพื่อดูว่าถ้าอยากรู้อยากเห็นของคุณ (เช่น: ไวโอลินบน Windows, ชาร์ลส์พร็อกซี่บน Mac)
standup75

1
ฉันจะเพิ่มไฟล์รูปภาพในคำขอ raw JSON ได้อย่างไร
Shikhar varshney

ใช่เราจะเพิ่ม / อัปโหลดภาพด้วยคำขอ JSON แบบดิบได้อย่างไร @Shikharvarshney คุณหาวิธีที่ดีกว่านี้ไหม?
Shahabaz

113

ในการโพสต์ออบเจกต์ที่ซ้อนกันด้วยอินเตอร์เฟสคีย์ - ค่าคุณสามารถใช้วิธีที่คล้ายกันในการส่งอาร์เรย์ ผ่านคีย์วัตถุในวงเล็บเหลี่ยมหลังดัชนีวัตถุ

ผ่านรายการที่ซ้อนกันกับบุรุษไปรษณีย์

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

8
นี่คือคำตอบที่ดีที่สุดในความเห็นที่ต่ำต้อยของฉัน ... ที่ง่ายที่สุดและจัดการได้มากที่สุด
AturSams

2
นี่คือสิ่งที่ฉันกำลังมองหาเพียงแค่ว่าฉันต้องเขียนรายการ [sku] แทนรายการ [0] [sku]
grom

7
ในกรณีของฉันฉันมีวัตถุที่ซ้อนกันที่เรียกว่าสถานที่ตั้งกับเมืองรัฐและประเทศในนั้น ฉันต้องเขียน location.city, location.state ฯลฯ
Aafreen Sheikh

36

ฉันทำให้มันทำงานโดยใช้ตัวเลือกข้อมูลดิบในบุรุษไปรษณีย์อย่างที่คุณเห็นในภาพหน้าจอ

ป้อนคำอธิบายรูปภาพที่นี่


นี่คือสิ่งที่สมบูรณ์แบบ
Sachin Pakale

นี่คือที่สมบูรณ์แบบ
dvn

27

นี่คือการรวมกันของข้างต้นเพราะฉันต้องอ่านหลายโพสต์เพื่อทำความเข้าใจ

  1. ในส่วนหัวเพิ่มคีย์ - ค่าต่อไปนี้:
    1. Content-Type ถึง application/json
    2. และAcceptเพื่อapplication/json

ป้อนคำอธิบายรูปภาพที่นี่

  1. ในร่างกาย :
    1. เปลี่ยนประเภทเป็น "raw"
    2. ยืนยัน "JSON (application / json)" เป็นประเภทข้อความ
    3. ใส่คุณสมบัติซ้อนกันที่นั่น: { "Obj1" : { "key1" : "val1" } }

ป้อนคำอธิบายรูปภาพที่นี่

หวังว่านี่จะช่วยได้!


3
มันควรจะเป็นapplication/jsonไม่ใช่applications
NoobTW

@TBirkulosis: ด้วยวิธีการของคุณ Json จะไม่ถูกส่งไปพร้อมกับ Header
Arpan

26

คู่ของคีย์ - ค่าสามารถรับอินพุตขั้นสูงได้

อดีต

ป้อนคำอธิบายรูปภาพที่นี่


1
ขอบคุณชายคนหนึ่งฉันคิดว่าสิ่งนี้จะอยู่ที่นั่น แต่ฉันพยายามทำหมายเหตุประกอบแบบดอท นี่เป็นคำตอบที่ถูกต้องแน่นอน
แจ็คฟรานเซ่

23

เพียงเพิ่มพารามิเตอร์เหล่านี้: ในตัวเลือกส่วนหัวของคำขอให้เพิ่มContent-Type:application/json

บุรุษไปรษณีย์ประเภทเนื้อหา JSON

และในร่างกายให้เลือกรูปแบบrawแล้วใส่ json params ของคุณเช่น{'guid':'61791957-81A3-4264-8F32-49BCFB4544D8'}

บุรุษไปรษณีย์ขอ json

ฉันพบวิธีแก้ปัญหาแล้วในhttp://www.iminfo.in/post/post-json-postman-rest-client-chrome


9

เลือกแท็บbodyและเลือกapplication / jsonในดร็อปดาวน์ Content-Type และเพิ่มเนื้อหาเช่นนี้:

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

ป้อนคำอธิบายรูปภาพที่นี่


7

เพียงแค่ต้องการเพิ่มปัญหาอีกหนึ่งปัญหาที่บางคนอาจพบด้านบนของคำตอบอื่น ๆ ทั้งหมด การส่งวัตถุ JSON โดยใช้ข้อมูล RAW และตั้งค่าเป็นapplication/jsonเป็นสิ่งที่ต้องทำตามที่ได้กล่าวไว้ข้างต้น

แม้ว่าฉันได้ทำไปแล้ว แต่ฉันพบข้อผิดพลาดในคำขอ POSTMAN มันเป็นเพราะฉันลืมที่จะสร้างนวกรรมิกเริ่มต้นสำหรับคลาสเด็กทั้งสองโดยไม่ตั้งใจ

พูดว่าถ้าฉันต้องส่งรูปแบบ JSON:

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

จากนั้นตรวจสอบให้แน่ใจว่าคุณสร้าง Constructor เริ่มต้นสำหรับคลาส Book

ฉันรู้ว่านี่เป็นข้อผิดพลาดที่เรียบง่ายและผิดปกติ แต่ก็ช่วยฉันได้อย่างแน่นอน


5

วิธีที่ดีที่สุดในการทำเช่นนั้น:

  1. ในส่วนหัวเพิ่มคีย์ - ค่าต่อไปนี้:

    Content-Type to applications/json
    Accept to applications/json
  2. ภายใต้เนื้อความคลิกrawและชนิดหล่นลงไปที่application/json

นอกจากนี้ PFA ยังเหมือนเดิม

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่


4

สำหรับ Json ที่ซ้อนกัน (ตัวอย่างด้านล่าง) คุณสามารถสร้างแบบสอบถามโดยใช้บุรุษไปรษณีย์ดังที่แสดงด้านล่าง

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

ป้อนคำอธิบายรูปภาพที่นี่


1

ใน Params ฉันได้เพิ่มแบบจำลองอีเมลและแบบจำลองรหัสผ่านทำงานได้ดีสำหรับฉัน ขอบคุณสำหรับคำถาม ฉันลองสิ่งเดียวกันในส่วนหัวไม่ทำงาน แต่มันทำงานบนร่างกายด้วยแบบฟอร์มข้อมูลและ x-www-form-urlencoded

บุรุษไปรษณีย์รุ่น 6.4.4

ป้อนคำอธิบายรูปภาพที่นี่



1

สำหรับผู้ที่ต้องการส่งวัตถุ JSON ที่ซ้อนกันที่มีฟอร์มข้อมูลเป็นชนิดเนื้อหา

ฉันต้องการส่ง custom_field ที่ซ้อนกันด้านล่าง { "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"] }

ป้อนคำอธิบายรูปภาพที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.