不带列名称的javascript序列化

不带列名称的javascript序列化,javascript,asp.net,serialization,google-maps-api-3,Javascript,Asp.net,Serialization,Google Maps Api 3,嗨,我想从数据库中检索纬度和经度,并将其保存到隐藏字段中 从数据库检索的表dt latitude longitude 19.2094000000 73.0939000000 19.2244070000 73.1545760000 19.1659242536 82.2436523438 18.3336694458 80.4309082031 我正在使用javascript序列化程序将其保存在隐藏字段中 JavaScriptSerializer

嗨,我想从数据库中检索纬度和经度,并将其保存到隐藏字段中

从数据库检索的表dt

latitude        longitude   
19.2094000000   73.0939000000
19.2244070000   73.1545760000
19.1659242536   82.2436523438
18.3336694458   80.4309082031
我正在使用javascript序列化程序将其保存在隐藏字段中

        JavaScriptSerializer oSerializer = new JavaScriptSerializer();

        var Result = (from c in dt.AsEnumerable()
                      select new
                      {
                          Latitude = c.Field<Decimal>("Latitude"),
                          Longitude = c.Field<Decimal>("Longitude")
                      }).ToList();

        hdnControl.Value = oSerializer.Serialize(Result);
但我不想在结果数据中使用列名,因为我需要进一步处理它并从中提取lat和long

如何在没有列名的隐藏字段中保存数据,使数据看起来像这样

[
  {19.2094000000,73.0939000000},
  {19.2244070000,73.1545760000},
  {19.1659242536,82.2436523438},
  {18.3336694458,80.4309082031}
]

您将创建一个新数组并在其中添加格式化内容:

var oldArr = [
  {"Latitude":19.2094000000,"Longitude":73.0939000000},
  {"Latitude":19.2244070000,"Longitude":73.1545760000},
  {"Latitude":19.1659242536,"Longitude":82.2436523438},
  {"Latitude":18.3336694458,"Longitude":80.4309082031}
];

var newArr = [];

for (i = 0; i < oldArr.length; i++) { 
    newArr.push({oldArr[i].Latitude, oldArr[i].Longitude});
}
var oldArr=[
{“纬度”:19.2094000000,“经度”:73.0939000000},
{“纬度”:19.2244070000,“经度”:73.1545760000},
{“纬度”:19.1659242536,“经度”:82.2436523438},
{“纬度”:18.3336694458,“经度”:80.4309082031}
];
var newArr=[];
对于(i=0;i
“oldArr”是从数据库接收的数组,“newArr”是新创建的数组

然后循环遍历旧数组的所有项,只添加旧数组项的值(不带键)

最后,“newArr”包含您想要的内容。

请尝试一下

 string json = DataTableToJSON(dt_main); 
 jsonnew = @"{""Data"":" + json + "}";


private static string DataTableToJSON(DataTable table)
{

    List<string[]> result = table.Rows
 .Cast<DataRow>()
 .Select(row => row.ItemArray
     .Select(x => x.ToString())
     .ToArray())
 .ToList();

    JavaScriptSerializer serializer = new JavaScriptSerializer();
    return serializer.Serialize(result);

    //--------------another method------------
    //ArrayList arr = new ArrayList(); 
    //List<ArrayList> list = new List<ArrayList>();

    //foreach (DataRow row in table.Rows)
    //{ 
    //    arr = new ArrayList();
    //    foreach (DataColumn col in table.Columns)
    //    { 
    //       arr.Insert(col.Ordinal, row[col]);
    //    }

    //     list.Add(arr); 
    //} 

   // JavaScriptSerializer serializer = new JavaScriptSerializer();
   // return serializer.Serialize(list);


}
string json=DataTableToJSON(dt_main);
jsonnew=@“{”数据“:“+json+”}”;
私有静态字符串DataTableToJSON(DataTable表)
{
列表结果=table.Rows
.Cast()
.Select(行=>row.ItemArray
.Select(x=>x.ToString())
.ToArray())
.ToList();
JavaScriptSerializer serializer=新的JavaScriptSerializer();
返回序列化程序。序列化(结果);
//--------------另一种方法------------
//ArrayList arr=新的ArrayList();
//列表=新列表();
//foreach(table.Rows中的DataRow行)
//{ 
//arr=新的ArrayList();
//foreach(table.Columns中的数据列col)
//    { 
//arr.Insert(第列,第[col]行);
//    }
//列表。添加(arr);
//} 
//JavaScriptSerializer serializer=新的JavaScriptSerializer();
//返回序列化程序。序列化(列表);
}

您的目标不是有效的javascript,可能θ、λ值应该是数组而不是对象。woww,thanx很多,这给了我新的方法,在javascript数组中是可访问的示例是
oldArr.map(函数(obj){return[obj.Latitute,obj.Longitude]}
或使用箭头函数:
oldArr.map(obj=>[对象纬度,对象经度]
;-)
 string json = DataTableToJSON(dt_main); 
 jsonnew = @"{""Data"":" + json + "}";


private static string DataTableToJSON(DataTable table)
{

    List<string[]> result = table.Rows
 .Cast<DataRow>()
 .Select(row => row.ItemArray
     .Select(x => x.ToString())
     .ToArray())
 .ToList();

    JavaScriptSerializer serializer = new JavaScriptSerializer();
    return serializer.Serialize(result);

    //--------------another method------------
    //ArrayList arr = new ArrayList(); 
    //List<ArrayList> list = new List<ArrayList>();

    //foreach (DataRow row in table.Rows)
    //{ 
    //    arr = new ArrayList();
    //    foreach (DataColumn col in table.Columns)
    //    { 
    //       arr.Insert(col.Ordinal, row[col]);
    //    }

    //     list.Add(arr); 
    //} 

   // JavaScriptSerializer serializer = new JavaScriptSerializer();
   // return serializer.Serialize(list);


}