将双链表转换为字符串

本文关键字:字符串 转换 链表 | 更新日期: 2023-09-27 18:06:14

我有一个double数组,我通过JSON发送到我的aspx页面。

var array = [] //this array is having double values in it. (48.154176701412744,11.551694869995117),(48.15131361676726,11.551694869995117),(48.15555092529958,11.549291610717773)
var jsonText = JSON.stringify({ list: array }); 

下面是我要传递给的方法:

public static void Demo(double[] list)

现在我如何访问被发送的数组并将其转换为字符串,以便我可以将其保存到我的数据库列作为字符串?因为当我接受它为

public static void Demo(string[] list)

甚至不接受JSON对象。当我将方法设置为:

public static void Demo(double[] list)

取数组为[0 0 0]

将双链表转换为字符串

您可以使用一些分隔符将所有双精度组合在一起:

 string.Join(";", list);

但是,您应该注意使用小数分隔符。如果value将保存为1.52;0.4,稍后您可能会在另一台机器上失败,或者如果区域设置将被更改。我将决定,在这种情况下我将使用什么分隔符并将值转换为字符串并使用这个分隔符:

 // unfortunately, not tested
 var ni = NumberFormatInfo.CurrentInfo; // not sure if you better call Clone() here
 ni.NumberDecimalSeparator = ".";
 string todatabase = string.Join(";", list.Select(_ => _.ToString(ni)));

执行相反的操作:

 // unfortunately, not tested
 var ni = NumberFormatInfo.CurrentInfo; // not sure if you better call Clone() here
 ni.NumberDecimalSeparator = ".";
 // `str` is read from database value
 IEnumerable<double> fromdatabase = str.Split(';').Select(_ => double.Parse(_, ni));

注意错误处理,此代码片段将在错误值上失败(例如list为null, str为null, str包含不可转换为双精度值等)

JSON。Stringfy本身返回字符串,那么为什么需要将值转换为字符串呢?你可以使用json .parse('@Html.Raw(jsonText)')来解析aspx页面上的json字符串。