Как разобрать jsonarray, хранящийся в viewBag, используя jquery

Я не могу разобрать jsonArray в viewBag. Я хочу получить содержимое, а затем использовать их, чтобы добавить параметры в

После использования console.log я мог видеть, что мой json выглядит следующим образом:

Пока у меня есть массив с одним элементом

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

У меня есть содержимое в переменной, как показано ниже:

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

Я хочу, чтобы BaseFormat и colorformat были использованы в select.

Я пробовал несколько сообщений stackoverflow, но они мне не помогли.

Если у вас есть ссылка на старое сообщение или подсказку, пожалуйста, разделите. @downvoters, Пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы относительно этого сообщения, а не тайно.

Всего 2 ответа


Поскольку он имеет тип массива, вы можете получить к нему доступ со своим 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); 


Мне не хватало 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);

Есть идеи?

10000