1

我从 linq 查询生成了一个数组:

var aTimeResultQuery = 
    (from fct in context.fct_testautomation
     join dr in context.dim_driver on fct.driver_key  equals dr.driver_key 
     join tc in context.dim_test_case on fct.test_case_key equals tc.test_case_key 
     join tr in context.dim_test_run on fct.test_run_key equals tr.test_run_key 
     where tr.test_suite_name == sSelectedTestSuite
     orderby fct.fct_testautomation_key descending
     select new                    
     {
          Duration = fct.Test_Duration,
          Target_Duration = fct.Test_Duration_Target_Max,
          Driver = dr.fused_driver,
          Test_Suite = tr.test_suite_name,
          Testcase = tc.test_case_type,
          Test_Description = fct.test_description
      })
      .Take(int.Parse(txtTestrun.Text)).ToArray();

我在 for 循环中使用该数组填充对象,然后对其进行序列化

JavaScriptSerializer aSerializer = new JavaScriptSerializer();

for (int i = 0; i < aTimeResultQuery.Count(); i++)
{
    aTimeGraph[i] = new TimeGraph();
    aTimeGraph[i].Duration = aTimeResultQuery[i].Duration.ToString();
    aTimeGraph[i].Target_Duration = aTimeResultQuery[i].Target_Duration.ToString();
    aTimeGraph[i].Driver = aTimeResultQuery[i].Driver.ToString();
    aTimeGraph[i].Test_Suite = aTimeResultQuery[i].Test_Suite.ToString();
    aTimeGraph[i].Testcase = aTimeResultQuery[i].Testcase.ToString();
    aTimeGraph[i].Test_Description = aTimeResultQuery[i].Test_Description.ToString();

    //Serializer.WriteObject(aMemoryStream, aTimeGraph[i]);
 }

 string sJson = aSerializer.Serialize(aTimeGraph);

对象的类如下:

[DataContract]
public class TimeGraph
{
    [DataMember]
    public string Duration;
    [DataMember]
    public string Target_Duration;
    [DataMember]
    public string Driver;
    [DataMember]
    public string Test_Suite;
    [DataMember]
    public string Testcase;
    [DataMember]
    public string Test_Description;
}

到目前为止,一切都很好。

我现在的问题是我不知道如何在 asp.net 中使用 json 通过它迭代并使用 json 对象的属性

我将字符串写入一个文本框,从中获取值

var sResultString = document.getElementById('<%= TextBox1.ClientID %>').value;
var obj = $.parseJSON(resultstring);

并尝试用$.parsejson(jsonString) and解析它JSON.parse(jsonString)(我很清楚这很脏,但我想在那里生存)希望你们中的一些人能帮助我

4

2 回答 2

0

试试下面的 JS 代码:

var sResultString = document.getElementById('<%= TextBox1.ClientID %>').value;
var obj = $.parseJSON(resultstring);
for(var i = 0; i < obj.length; i++){
  console.log(obj[i].Driver);
}
于 2013-06-27T11:08:48.830 回答
0

var obj = eval($("[id$='TextBox1']").val());

于 2013-06-27T09:04:32.153 回答