简体   繁体   English

从http.get json文件解析json数据

[英]Parse json data from http.get json file

I have a json file where I have few data(data.json) 我有一个json文件,其中数据很少(data.json)

{
  "currency": {
    "SAR": "Saudi Riyal",
    "EUR": "Euro",
    "KWD": "Kuwaiti Dinar",
    "OMR": "Omani Rial",
    "INR": "Indian Rupee",
    "AED": "UAE Dirham",
    "EGP": "Egyptian Pound",
    "PKR": "Pakistan Rupee",
    "USD": "US Dollar",
    "LKR": "Sri Lanka Rupee",
    "BHD": "Bahraini Dinar",
    "CZK": "Czech Koruna",
    "JOD": "Jordanian Dinar",
    "KZT": "Tenge",
    "NPR": "Nepalese Rupee",
    "QAR": "Qatari Rial",
    "RUB": "Russian Ruble",
    "THB": "Baht"
  },
  "statusCode": [ "FAILED", "VOIDED", "IN_PROGRESS", "SUCCESS", "PARTIAL_REFUND", "CAPTURED", "CAPTURE_FAILED", "REFUNDED" ],
  "paymentMethods": [ "BSP", "CARD", "VCHR", "INVC" ]
}

I ve got the data with http get, but the problem is if I m stringifying I`m getting ve got the data with http get, but the problem is if I字符串化了,

""{\r\n  \"currency\": {\r\n    \"SAR\": \"Saudi Riyal\",\r\n    \"EUR\": \"Euro\",\r\n    \"KWD\": \"Kuwaiti Dinar\",\r\n    \"OMR\": \"Omani Rial\",\r\n    \"INR\": \"Indian Rupee\",\r\n    \"AED\": \"UAE Dirham\",\r\n    \"EGP\": \"Egyptian Pound\",\r\n    \"PKR\": \"Pakistan Rupee\",\r\n    \"USD\": \"US Dollar\",\r\n    \"LKR\": \"Sri Lanka Rupee\",\r\n    \"BHD\": \"Bahraini Dinar\",\r\n    \"CZK\": \"Czech Koruna\",\r\n    \"JOD\": \"Jordanian Dinar\",\r\n    \"KZT\": \"Tenge\",\r\n    \"NPR\": \"Nepalese Rupee\",\r\n    \"QAR\": \"Qatari Rial\",\r\n    \"RUB\": \"Russian Ruble\",\r\n    \"THB\": \"Baht\"\r\n  },\r\n  \"statusCode\": [ \"FAILED\", \"VOIDED\", \"IN_PROGRESS\", \"SUCCESS\", \"PARTIAL_REFUND\", \"CAPTURED\", \"CAPTURE_FAILED\", \"REFUNDED\" ],\r\n  \"paymentMethods\": [ \"BSP\", \"CARD\", \"VCHR\", \"INVC\" ]\r\n}\r\n\r\n""

I ve got the response in variable success, but I can t traverse. ve got the response in variable success, but I can遍历。 Success looks like, 成功看起来像

"{
  "currency": {
    "SAR": "Saudi Riyal",
    "EUR": "Euro",
    "KWD": "Kuwaiti Dinar",
    "OMR": "Omani Rial",
    "INR": "Indian Rupee",
    "AED": "UAE Dirham",
    "EGP": "Egyptian Pound",
    "PKR": "Pakistan Rupee",
    "USD": "US Dollar",
    "LKR": "Sri Lanka Rupee",
    "BHD": "Bahraini Dinar",
    "CZK": "Czech Koruna",
    "JOD": "Jordanian Dinar",
    "KZT": "Tenge",
    "NPR": "Nepalese Rupee",
    "QAR": "Qatari Rial",
    "RUB": "Russian Ruble",
    "THB": "Baht"
  },
  "statusCode": [ "FAILED", "VOIDED", "IN_PROGRESS", "SUCCESS", "PARTIAL_REFUND", "CAPTURED", "CAPTURE_FAILED", "REFUNDED" ],
  "paymentMethods": [ "BSP", "CARD", "VCHR", "INVC" ]
}

"

I`ll also show my http get 我还将显示我的http获取

 getFileContent = (fileName) => {
        let apiUrl = './assets/data/' + fileName;
        return this.http.get(apiUrl, { responseType: 'text' });
    }

this.apiService.getFileContent("data.json").subscribe(
        success => {
            console.log(success);
        }, error => {
            console.log(error);
        }
    )

Kindly help me find what s wrong, I m new to angular. 请帮助我找出s wrong, I新手。 My angular version is 6. Those data are created for dropdown mapping, let me know if there is a better approach 我的角度版本为6。这些数据是为下拉映射创建的,请告诉我是否有更好的方法

Found what mistake I have done, should have given responsetype: json 发现我犯了什么错误,应该给出responsetype:json

 getFileContent = (fileName) => {
        let apiUrl = './assets/data/' + fileName;
        return this.http.get(apiUrl, { responseType: 'json' });
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM