Reputation: 3
I am trying to use API from here http://www.postalpincode.in/Api-Details
const express = require('express')
const app = express()
const https = require("https");
const bodyParser = require("body-parser")
const port = 3000
app.use(bodyParser.urlencoded({ extended: true }));
app.get('/', (req, res) => res.sendFile(__dirname + "/index.html"))
app.post("/", (req, res) => {
const query = req.body.cityData; // gets the input from the form tag
// const dataType = req.body.dataType;
const url = `https://api.postalpincode.in/pincode/586101`;
https.get(url, (response) => {
response.on("data", (data) => {
const pinData = data(); // converts other format into json
const place = pinData.0.PostOffice[0].Name; //<== i this line it is showing error for 0 after pinData
res.set("Content-Type", "text/html");
res.send(`place:${place}
`);
});
});
});
app.listen(port, () => console.log(`Example app listening on port ${port}!`))
Upvotes: 0
Views: 73
Reputation: 336
You must access the numeric keys like so:
const place = pinData[0].PostOffice[0].Name; I've just double-checked on Chrome they way you tried and it will throw
VM273:1 Uncaught SyntaxError: Unexpected number
.
I was able to get the endpoint response by just pasting the url into the browser. It looks like this after parsing.
[
{
"Message": "Number of pincode(s) found:7",
"Status": "Success",
"PostOffice": [
{
"Name": "Bijapur",
"Description": null,
"BranchType": "Head Post Office",
"DeliveryStatus": "Delivery",
"Circle": "Karnataka",
"District": "Bijapur(KAR)",
"Division": "Bijapur",
"Region": "North Karnataka",
"Block": "Bijapur",
"State": "Karnataka",
"Country": "India",
"Pincode": "586101"
},
{
"Name": "Bijapur Basava Nagar",
"Description": null,
"BranchType": "Sub Post Office",
"DeliveryStatus": "Non-Delivery",
"Circle": "Karnataka",
"District": "Bijapur(KAR)",
"Division": "Bijapur",
"Region": "North Karnataka",
"Block": "Bijapur",
"State": "Karnataka",
"Country": "India",
"Pincode": "586101"
},
{
"Name": "Bijapur Bazar",
"Description": null,
"BranchType": "Sub Post Office",
"DeliveryStatus": "Non-Delivery",
"Circle": "Karnataka",
"District": "Bijapur(KAR)",
"Division": "Bijapur",
"Region": "North Karnataka",
"Block": "Bijapur",
"State": "Karnataka",
"Country": "India",
"Pincode": "586101"
},
{
"Name": "Bijapur Jorapur Peth",
"Description": null,
"BranchType": "Sub Post Office",
"DeliveryStatus": "Non-Delivery",
"Circle": "Karnataka",
"District": "Bijapur(KAR)",
"Division": "Bijapur",
"Region": "North Karnataka",
"Block": "Bijapur",
"State": "Karnataka",
"Country": "India",
"Pincode": "586101"
},
{
"Name": "Bijapur Kutchery",
"Description": null,
"BranchType": "Sub Post Office",
"DeliveryStatus": "Non-Delivery",
"Circle": "Karnataka",
"District": "Bijapur(KAR)",
"Division": "Bijapur",
"Region": "North Karnataka",
"Block": "Bijapur",
"State": "Karnataka",
"Country": "India",
"Pincode": "586101"
},
{
"Name": "Bijapur Market Yard",
"Description": null,
"BranchType": "Sub Post Office",
"DeliveryStatus": "Non-Delivery",
"Circle": "Karnataka",
"District": "Bijapur(KAR)",
"Division": "Bijapur",
"Region": "North Karnataka",
"Block": "Bijapur",
"State": "Karnataka",
"Country": "India",
"Pincode": "586101"
},
{
"Name": "Bijapur Tajbavadi",
"Description": null,
"BranchType": "Sub Post Office",
"DeliveryStatus": "Non-Delivery",
"Circle": "Karnataka",
"District": "Bijapur(KAR)",
"Division": "Bijapur",
"Region": "North Karnataka",
"Block": "Bijapur",
"State": "Karnataka",
"Country": "India",
"Pincode": "586101"
}
]
}
]
Upvotes: 1