簡體   English   中英

從JSON讀取數據

[英]Read data from json

這是我的JSON文件

{
 "styleMapping": {
  "1": {
  "zIndex": 1,
  "StyleMappingCollection": {
    "636404903145791477": {
      "border": {
        "color": "#FF000000",
        "width": "Small",
        "type": "Solid"
      },
      "background": {
        "bgOption": "Image",
        "thumbOption": "Pointer",
        "opacity": 1.0,
        "bgColor": "#FFF5F5DC",
        "bgImage": "C:\Users\raj\Downloads\images\image.jpg",
      }
 }
}

我想在我的JavaScript中捕獲bgImage參數。

我的腳本代碼是

 $http.get('Data//xyz.json').then(successCallback, errorCallback);

                function successCallback(response)
                {           
                   sliderCtrlPtr.sliderParams = response.data;
                   sliderCtrlPtr.sliderParams.height = response.data.deviceHeight;

                   console.log("After JSON read : ",sliderCtrlPtr.sliderParams);

                }
                function errorCallback(error)
                {
                    //error code                       
                }

                sliderCtrlPtr.GetsliderStyle = function () 
                {
                    if(sliderCtrlPtr.sliderParams != undefined)
                    {
                        var styleObj = sliderCtrlPtr.sliderParams;       
                        canvas.color = styleObj.StyleMappingCollection.
 636404903145791477.background.bgColor;
             }                       
          };
    }]);
})();

我想從腳本中的json文件中檢索bgColor或bgImage參數。 我怎樣才能做到這一點?

我認為應該行。 從提供的不完整的JSON中,我只能找到此錯誤!

sliderCtrlPtr.GetsliderStyle = function() {
    if (sliderCtrlPtr.sliderParams != undefined) {
      var styleObj = sliderCtrlPtr.sliderParams;
      canvas.color = styleObj["styleMapping"]["1"]["StyleMappingCollection"]
      ["636404903145791477"]["background"]["bgColor"];
      canvas.image = styleObj["styleMapping"]["1"]["StyleMappingCollection"]
      ["636404903145791477"]["background"]["bgImage"];
    }
}

點表示法:

首先,您需要使用解析JSON

obj = JSON.parse(json);

由於JSON包含對象,因此您可以使用點符號,例如

var backColor = obj.StyleMappingCollection.background.bgcolor;

事實是,JSON中的這些數字字段名稱可能會導致使用此問題。

這是我編寫的程序的摘錄,其中有一個partners.json文件(該文件包含不同級別的嵌套對象),並且我想將JSON office字段存儲在一個對象中。

JSON文件的格式如下:

    [
      {
        "id": 1,
        "urlName": "test-url",
        "organization": "Test Organization",
        "customerLocations": "Global",
        "willWorkRemotely": true,
        "website": "http://www.testurl.com/",
        "services": "This is a test services string",
        "offices": [
          {
            "location": "Random, Earth",
            "address": "Randomness 42, 109 Some St \nRandomville 2000",
            "coordinates": "-33.8934219,151.20404600000006"
          }
        ]
      }, {"id": 2, ... }]

我將JSON導入我的JavaScript代碼中:

/* import partner information from the supplied JSON file */
var partners = require('./partners.json');

然后,我相應地解析並字符串化所需的“辦公室”字段:

/* extract all office locations */
var officeLocations = {};
for (var i = 0; i < partners.length; i++) {
    officeLocations[i] = JSON.parse(JSON.stringify(partners[i].offices));
}

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM