Javascript 从json读取数据
这是我的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": {
{
"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等,取决于用户添加特定按钮的方式。