从json读取数据

时间:2017-09-20 07:00:20

标签: javascript angularjs json html5

这是我的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参数。我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

我认为这条线应该是。从提供的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"];
    }
}

答案 1 :(得分:1)

点符号:

首先,您需要使用

解析JSON
         0*10*  0*10*  0*10*  0*10*
1001|0*
0100|0*
0010|0*
0110|0*

由于JSON包含对象,因此您可以使用点表示法,例如

S[i]

问题是,JSON中的那些数字字段名称可能会导致使用它时出现问题。

这是我编写的程序的摘录,其中我有一个partners.json文件(其中包含不同级别的嵌套对象),我想将JSON office字段存储在一个对象中。

JSON文件采用以下形式:

obj = JSON.parse(json);

我在JavaScript代码中导入JSON:

var backColor = obj.StyleMappingCollection.background.bgcolor;

然后我相应地解析并字符串化所需的“办公室”字段:

    [
      {
        "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, ... }]

希望这有帮助。