Javascript 从json读取数据

Javascript 从json读取数据,javascript,angularjs,json,html,Javascript,Angularjs,Json,Html,这是我的JSON文件 { "styleMapping": { "1": { "zIndex": 1, "StyleMappingCollection": { "636404903145791477": { "border": { "color": "#FF000000", "width": "Small", "type": "Solid" }, "background": {

这是我的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"];
    }
}
点符号:

首先,您需要使用

obj = JSON.parse(json);
由于JSON包含对象,因此可以使用点表示法,例如

var backColor = obj.StyleMappingCollection.background.bgcolor;
问题是,JSON中的那些数字字段名可能会在使用时产生问题

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

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, ... }]
我在JavaScript代码中导入JSON:

/* import partner information from the supplied JSON file */
var partners = require('./partners.json');
然后,我相应地解析和字符串化所需的“offices”字段:

/* extract all office locations */
var officeLocations = {};
for (var i = 0; i < partners.length; i++) {
    officeLocations[i] = JSON.parse(JSON.stringify(partners[i].offices));
}
/*提取所有办公地点*/
var officeLocations={};
对于(变量i=0;i

希望这能有所帮助。

您得到了什么回应?或者你会得到什么?尝试使用console.log登录
successCallback
errorCallback
并检查一次。尝试styleObj.StyleMappingCollection[636404903145791477].background.bgcolor您还可以检查JSON是否正确吗?对我来说似乎是错的,或者你已经发布了一半的JSON了吗?请和我分享一个例子。如何在代码中实现这一点如何获取所有json数据。所以我应该得到JSON对象。这个例子非常适合您尝试做的事情:但我有动态生成的数据,即JSON文件数据。。那么我如何使用json字符串呢?我在回答中添加了一个示例,上面的代码是正确的。但问题是这是硬编码的值。我想在颜色变量中存储bgColor值。如何从json文件中获取路径,以便根据需要存储值。因此,我们没有硬编码该值,因为json文件总是发生变化。@RajeshRamtere您可以使用赋值运算符将该值赋值给任意两个变量,如
$scope.bgColor=styleObj[“styleMapping”][“1”][“StyleMappingCollection”][“636404903145791477”][“background”][“bgimappingcollection”]
sliderCtrlPtr.bgColor=styleObj[“styleMapping”][“1”][“StyleMappingCollection”][“636404903145791477”][“background”][“bgImage”]您面临什么问题?如果我的636404903145791477现在不同,那么我如何检索该参数。考虑一下,我总是得到不同的JSON文件。这个数字也在变化。现在我想得到加塔dynamically@RajeshRamtere你需要像这样循环键
for(x in styleObj[“styleMapping”][“1”][“StyleMappingCollection”]{sliderCtrlPtr.bgColor=styleObj[“styleMapping”][“1”][“StyleMappingCollection”][“x”][“background”][“bgColor”];}
,63640490314574523、636404903145791123等,取决于用户添加特定按钮的方式。