如何使用jQuery解析存储在viewBag中的jsonarray

时间:2018-11-16 14:25:53

标签: javascript jquery json razor html-helper

我无法解析viewBag中的jsonArray。我想获取内容,然后使用它们向

添加选项

使用console.log时,我可以看到我的json如下:

到目前为止,我的数组只有一个元素

[  
   {  
      "BackgroundColor":null,
      "BaseFormat":"PNG",
      "ColorFormat":"RGB",
      "ColorProfile":null,
      "Density":"300",
      "Extra_param":null,
      "FileFormat":"JPG",
      "PresetId":"2",
      "Resolution":"",
      "Quality":100
   }
]

我的变量内容如下:

  

var预置数组= @ Html.Raw(Json.Encode(@ ViewBag.user_doc_presets));           console.log(presetArray);

我想将BaseFormat和colorformat用于选择。

我尝试了一些stackoverflow posts,但它们并没有帮助我。

如果您有旧文章的链接或提示,请分享。 @downvoters,如果您对此帖子有任何疑问,请公开告诉我。

2 个答案:

答案 0 :(得分:1)

由于它是数组类型,因此可以使用其Index访问它,这里是0,因为数组元素只是一个。

presetArray[0].BaseFormat
presetArray[0].ColorFormat

var presetArray  = [{"BackgroundColor":null,"BaseFormat":"PNG","ColorFormat":"RGB","ColorProfile":null,"Density":"300","Extra_param":null,"FileFormat":"JPG","PresetId":"2","Resolution":"","Quality":100}]



console.log("Base Format: " + presetArray[0].BaseFormat);
console.log("Color Format: " + presetArray[0].ColorFormat);

答案 1 :(得分:0)

我错过了一个解决问题的Json.Parse

请参阅 http://jsfiddle.net/jresdqw3/

var arr = [  
   {  
      "BackgroundColor":null,
      "BaseFormat":"PNG",
      "ColorFormat":"RGB",
      "ColorProfile":null,
      "Density":"300",
      "Extra_param":null,
      "FileFormat":"JPG",
      "PresetId":"2",
      "Resolution":"",
      "Quality":100
   }
];

alert(arr.length);
alert(JSON.stringify(arr).length);