क्या पोस्टमैन क्रोम एक्सटेंशन के साथ एक सरणी भेजना संभव है?


246

मैं अपने एपीआई का परीक्षण करने के लिए पोस्टमैन क्रोम एक्सटेंशन का उपयोग कर रहा हूं और पोस्ट के माध्यम से आईडी की एक सरणी भेजना चाहता हूं। क्या पोस्टमैन में पैरामीटर के रूप में कुछ सूची भेजने का कोई तरीका है?

{
  user_ids: ["1234", "5678"]
}

1
मैं निश्चित रूप से एक सरणी भेजने का सही तरीका है "किसी तरह से जो विशेष सर्वर आप इसे भेज रहे हैं वह इसे सही तरीके से प्राप्त करेगा"। यह नीचे दिए गए उत्तर में भिन्नता के लिए खाता है - लेकिन यह सभी के लिए (या किसी को भी?) थोड़ा उपयोगी होगा यदि उन्होंने कहा था कि वे किस बैक-एंड का उपयोग कर रहे हैं।
मर्म

जवाबों:


438

आपको अपना चर नाम []इस तरह से लिखना होगा:

send_array_param_with_postman

यदि वह काम नहीं करता है, तो ब्रैकेट में अनुक्रमित डालने की कोशिश न करें:

my_array[]  value1
my_array[]  value2

ध्यान दें:

  • यदि आप पोस्टमैन पैक किए गए ऐप का उपयोग कर रहे हैं , तो आप raw/ json(के बजाय form-data) का चयन करके एक सरणी भेज सकते हैं । इसके अलावा, सेट करने के लिए सुनिश्चित करें Content-Typeके रूप में application/jsonमें Headersटैब। यहाँ कच्चे डेटा के लिए उदाहरण है {"user_ids": ["123" "233"]}, उद्धरण मत भूलना!

  • यदि आप पोस्टमैन REST क्लाइंट का उपयोग कर रहे हैं, तो आपको मेरे द्वारा ऊपर बताई गई विधि का उपयोग करना होगा क्योंकि डेटा को रॉ (json) के रूप में पास करने से काम नहीं चलेगा। डाकिया REST ग्राहक में एक बग है (कम से कम मैं बग का उपयोग करते समय प्राप्त करता हूं 0.8.4.6)।


3
बस अगर कोई यह पूछ रहा है कि सिर्फ सरणी के बजाय हैश को कैसे जोड़ा जाए, तो विचार अभी भी वही है, बस इंडेक्स को हैश नाम में बदलेंmy_array[hashname] value1
ब्रायन पी

5
my_array[] valueप्रदान किए गए मानों के साथ एक सरणी पैरामीटर बनाएगा key => [value]। my_array[key] valueएक हैश बना देगा, जैसा कि {key => value}
MARC.RS

1
उनमें से किसी ने भी काम नहीं किया, लेकिन मुझे लगा कि 2019 में सिर्फ सरणी नाम के कामों को जोड़ना होगा। [ prntscr.com/nqubpi]
श्रेयन मेहता

71

मेरे लिए सरणी [0], सरणी 1 , .. या सरणी [], सरणी [], ... के साथ काम नहीं किया । यह और अधिक सरलता से काम करता है: यहां छवि विवरण दर्ज करें


8
एक ही नाम के साथ कई कुंजियों को जोड़ने से, सर्वर को अंतिम केवल एक ही
मिलेगा

कृपया मुझे बताएं कि फॉर्म-डेटा में केवल एक तत्व उपयोगकर्ता को कैसे भेजा जाए [0]। अगर मैं userid [] / userid [0] पास करता हूँ तो एक महत्वपूर्ण क्षेत्र में इसे एक स्ट्रिंग के रूप में लिया जाता है!
जॉनी डेसी

1
asp.net कोर 2.2 के साथ, यह इस समाधान के साथ सभी सरणी तत्वों को प्राप्त करता है
बजे

Django में मैं सभी फ़ाइलों को प्राप्त करने में सक्षम था: request.FILES.getlist ('usersId'), इस विधि का उपयोग करके
Swasidhant

44

यहाँ मेरा समाधान है:

फॉर्म-डेटा का उपयोग करें और नीचे के रूप में संपादित करें:

Key       Value 
box[]      a
box[n1]    b
box[n2][]  c
box[n2][]  d

और आपको इस तरह एक सरणी मिलेगी:

{"box":{"0":"a","n1":"b","n2":["c","d"]}}

महान! अंत में मैं एक ऑब्जेक्ट "लोक": {"टाइप": "पॉइंट", "निर्देशांक" भेज सकता हूं: [126.972967, 37.54171],} में टाइप करने के लिए लोकेशन [टाइप]: प्वाइंट, लोकेशन [निर्देशांक] []: 126 ।। ।, लोकेशन [निर्देशांक] []: ३ loc ... पोस्टमैन thx पर !!
जिल्डम मे

यह बहुत उपयोगी है जब आपको फाइलें भेजने की आवश्यकता होती है, तो डाकिया का 'कच्चा' प्रारूप काम नहीं करेगा। आपको फॉर्म-डेटा प्रारूप का उपयोग करने की आवश्यकता है।
arunt

32

मुझे भी यह समस्या थी, और निम्न कार्य करके इसे हल किया:

1 - अनुरोध हेडर कॉन्फ़िगरेशन में जा रहा है और निम्नलिखित जोड़ा गया है:

Accept : application/json, text/plain, */*
Content-Type : application/json;charset=UTF-8

2 - json array भेजने के लिए, मैं कच्चे json फॉर्मेट में गया और user_ids को array पर सेट किया:

user_ids: ["bbbbbbbbbb","aaaaaaaaaa","987654321","123456789"]

इसने मेरे लिए चाल
चली

यह वह उत्तर था जिसकी मुझे आवश्यकता थी।
फिलिप ब्रैंडन होम्स

मेरा एपीआई तरीका सूची <string> की उम्मीद करता है और इसने काम किया।
विश्वास

20

बॉडी को कच्चे के रूप में सेट करें और निम्नानुसार सरणी बनाएं:

यहां छवि विवरण दर्ज करें


{"प्रश्न": "भारत की राजधानी क्या है", "अंक": 1, "विकल्प": ["मुंबई", "पुणे", "नई दिल्ली", "जयपुर"], "सही": "नई दिल्ली" }
प्रथमेश मोर

17

जैसा कि @pinouchon द्वारा बताया गया है, आप इसे ऐरे इंडेक्स की मदद से पास कर सकते हैं

my_array[0] value
my_array[1] value

In addition to this, to pass list of hashes, you can follow something like:

my_array[0][key1] value1

my_array[0][key2] value2

उदाहरण:

To pass param1=[{name:test_name, value:test_value}, {...}]

param1[0][name] test_name

param1[0][value] test_value

17

यदि आप dicts की एक सरणी चाहते हैं, तो यह प्रयास करें: यहां छवि विवरण दर्ज करें


2
मेरे लिए नोड.जेएस / मानगो के लिए जो काम किया गया है, social_links[0].nameवह अतिरिक्त अवधि है
सोंथम टी।

आपके उदाहरण में अगर nameएक सरणी भी है तो क्या होगा ? मैंने कुछ इस तरह की कोशिश की social_links[0]name[0]Django REST फ्रेमवर्क (कई-कई संबंधों के साथ नेस्टेबल मॉडल-सीरियल नेस्टेड) ​​और यह काम नहीं किया।
नाथन

11

यह मेरे लिए काम किया। आइटम ऑब्जेक्ट {ItemID, ColorID, SizeID, Quntity} का एक सरणी पास करने के लिए

पोस्टमैन डेटा


10

यह जानना महत्वपूर्ण है, कि VALUE बॉक्स में केवल एक अंक मान (कोई निर्दिष्ट नहीं) होने की अनुमति है।

यदि आप डाकिया के साथ उदाहरण के लिए "संदेशों" की एक सरणी भेजना चाहते हैं, तो प्रत्येक के पास कुंजी / मूल्य जोड़े की एक सूची है, उदाहरण के संदेश दर्ज करें [] [कारण] प्रमुख बॉक्स में और VALUE बॉक्स में कारण का मूल्य:

यहां छवि विवरण दर्ज करें

सर्वर को प्राप्त होगा:

{"messages"=>[{"reason"=>"scrolled", "tabid"=>"2"}, {"reason"=>"reload", "tabid"=>"1"}], "endpoint"=>{}}

यह चाल चली ... लेकिन केवल जब मैंने फॉर्म-डेटा विकल्प की जांच की।
Nowdeen

8

हेडर सेट में

content-type : application/x-www-form-urlencoded

बॉडी सलेक्ट ऑप्शन में

एक्स-www फार्म-urlencoded

और json सरणी के रूप में डेटा डालें

user_ids : ["1234", "5678"]

केवल एक जिसने फॉर्म डेटा का उपयोग करके मेरे लिए काम किया है! चूंकि मैं चित्र भी भेज रहा हूं, इसलिए कच्चे का उपयोग नहीं कर सका
मैट विल्स

मेरे लिए एक ही काम किया और साथ ही पूरे न्यूबायर्स के लिए: प्रेस x-www-form-urlencoded => बल्क एडिट => UserNames: ["UserName1", "UserName2", "UserName3"]]
Denys Moroz

7

यह वस्तु के भीतर सूचियों के लिए भी काम करता है:

Id:37
IdParent:26
Name:Poplet
Values[0].Id:1349
Values[0].Name:SomeName
Values[1].Id:1350
Values[1].Name:AnotherName

समतुल्य JSON होगा:

{
    "Id": 37,
    "IdParent": 26,
    "Name": "Poplet",
    "Values": [
        {
            "Id": 1349,
            "Name": "SomeName"
        },
        {
            "Id": 1350,
            "Name": "AnotherName"
        }
    ]
}

6

शीर्ष पर जाएं और चयन करें Content-Type= application/jsonफिर शरीर पर जाएं और चुनें rawऔर फिर एक सरणी पास करें ।यहां छवि विवरण दर्ज करें


5

प्रपत्र-डेटा या urlencoded चुनें और एक ही कुंजी "user_ids" का उपयोग करें। सर्वर को इसे एक सरणी के रूप में प्राप्त करना चाहिए।


ऐसा लगता है कि Chrome में बग के कारण, जो गलत तरीके से XML हेडर के साथ भेजता है, यहां तक ​​कि जब आप पोस्टमैन में JSON का चयन करते हैं, तो आपको Content-typeमूल्य के साथ एक हेडर जोड़ना होगा application/json
जेसन स्विट

5
बस अगर कोई वापस जवाब की तलाश में आता है, तो एक सरणी के लिए कुंजी user_ids होना चाहिए [] इसके बजाय सिर्फ user_ids
दुखद

3
{
    "data" : [  
        {
            "key1" : "value1",
            "key2" : "value2"   
        },
        {
            "key01" : "value01",
            "key02" : "value02"             
        },
        {
            "key10" : "value10",
            "key20" : "value20"   
        }
    ]
}

आप इस तरह से गुजर सकते हैं। उम्मीद है कि यह किसी की मदद करेगा।



0

मैंने यहां और अन्य पोस्ट में सभी समाधान की कोशिश की, लेकिन कुछ भी मदद नहीं की।

केवल उत्तर ने मेरी मदद की:
फ़ंक्शन हस्ताक्षर में पैरामीटर की घोषणा से पहले [FromBody] विशेषता को जोड़ना:

[Route("MyFunc")]        
public string MyFunc([FromBody] string[] obj)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.