次のような html 要素にいくつかのモデル データをエンコードしています。
@Html.Raw(Json.Encode(Model));
返される json 文字列は次のようになります。
{"TestList":[{"FrequencyType":"1X","GCDs":"585.6","Identifier":"6144","SeqNo":9306,"SeqNoSpecified":true,"TSeqNo":8314,"TSeqNoSpecified":true,"TestDescr":"HBsAg"},{"FrequencyType":"1X","GCDs":"585.6","Identifier":"6124","SeqNo":9295,"SeqNoSpecified":true,"TSeqNo":8315,"TSeqNoSpecified":true,"TestDescr":"HCV Ab"},{"FrequencyType":"1X","GCDs":"585.3","Identifier":"6","SeqNo":9729,"SeqNoSpecified":true,"TSeqNo":8309,"TSeqNoSpecified":true,"TestDescr":"HD Monthly LS"}],"Frequency":[{"Key":"ANNUAL","Value":"Annually"},{"Key":"BIMONTH","Value":"Bi-Monthly"},{"Key":"BIWEEK","Value":"Bi-Weekly"},{"Key":"MON","Value":"Monthly"},{"Key":"1X","Value":"One Time"},{"Key":"QTR","Value":"Quarterly"},{"Key":"SMAN","Value":"Semi-Annual"},{"Key":"WEEK","Value":"Weekly"}]};
を使用してこれを解析しようとするとJSON.parse
、エラーが発生します。
arrayTestList = [];
var jsonTestList = $('#TestList').text();
jsonTestList = JSON.stringify(jsonTestList);
arrayTestList = JSON.parse(jsonTestList);
alert(arrayTestList.TestList[0]); // <===== this line is failing
Unable to get value of the property '0': object is null or undefined
の要素に適切jsonTestList
にアクセスできるように、この文字列を JavaScript 配列に変換するにはどうすればよいですか?arrayTestList
編集:
申し訳ありませんが、編集について言及するのを忘れていました。基本的に上記の JavaScript コードは部分ビュー 2 内にあります。モデルを json エンコードしているコードは、別の部分ビュー 1 にあります。PV 2 から、PV 1 のモデル オブジェクトにアクセスできないため、コンテンツをタグを付けて、このリスト要素div
にアクセスできるようにします。TestList