JavaScriptSerializer().Serialize(エンティティの枠組みオブジェクト)
-
20-09-2019 - |
質問
きない問題があります。って初めてjson直列化します。とによって、食べ終わったその他の記事stackowerflow.
私は作成団体の枠組みのデータモデルです。その方法により取得すべてのデータからのオブジェクト:
private uqsEntities _db = new uqsEntities();
//get all data from table sysMainTableColumns where tableName=paramtableName
public List<sysMainTableColumns> getDataAboutMainTable(string tableName)
{
return (from column in _db.sysMainTableColumns
where column.TableName==tableName
select column).ToList();
}
私webservice:
public string getDataAboutMainTable()
{
penta.DAC.Tables dictTable = new penta.DAC.Tables();
var result = dictTable.getDataAboutMainTable("1");
return new JavaScriptSerializer().Serialize(result);
}
やjQueryのajax方法
$('#loadData').click(function() {
$.ajax({
type: "POST",
url: "WS/ConstructorWS.asmx/getDataAboutMainTable",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
$("#jsonResponse").html(msg);
var data = eval("(" + msg + ")");
//do something with data
},
error: function(msg) {
}
});
});
失敗からfairbug):
missing ] after element list [Break on this error] var data = eval("(" + msg + ")");
ajax対応(開いているのがfirebugの場合取り除きま var data = eval("(" + msg + ")")
):
{"d":"[{\"ID\":1,\"TableName\":\"1\",\"Name\":\"d\",\"FullName\":\"f\",\"Type\":\"nvarchar(50)\",\"MeasurementUnit\":\"t \",\"EntityState\":2,\"EntityKey\":{\"EntitySetName\":\"sysMainTableColumns\",\"EntityContainerName\":\"uqsEntities\",\"EntityKeyValues\":[{\"Key\":\"ID\",\"Value\":1}],\"IsTemporary\":false}},{\"ID\":2,\"TableName\":\"1\",\"Name\":\"e\",\"FullName\":\"e\",\"Type\":\"int\",\"MeasurementUnit\":\"r \",\"EntityState\":2,\"EntityKey\":{\"EntitySetName\":\"sysMainTableColumns\",\"EntityContainerName\":\"uqsEntities\",\"EntityKeyValues\":[{\"Key\":\"ID\",\"Value\":2}],\"IsTemporary\":false}}]"}
の問題 データ, コードに失敗します。としようとして使用しないで JavaScriptSerializer().Serialize() 方法です。
せいうのは大間違いだったクライアントまで、フルのC#コードについて教えてください。
解決
- 必要な
eval
.jQueryない場合に指定しdataType: "json"
- うにserialize主体として、
JavaScriptSerializer
亡くなる場合が含まれる円形の参考にする。 - 忘れずに
d
!この挿入により、WCFサービスへの働きかけるセキュリティホールの一部のブラウザの場合のルートオブジェクトが配列の型になります。
他のヒント
また釣りをしたデバッグを開いているのがfirebugやシオマネキのJSONコンテンツに見え。
所属していません StackOverflow