У меня есть объект Newtonsoft.Linq. Json .Array, который я получил после запуска камеры, и строка получена на мой ноутбук через TCP / IP. Используемый код показан ниже:
public async void ReadDataAsync(TcpClient mClient)
{
try
{
StreamReader clientStreamReader = new StreamReader(mClient.GetStream());
char [] buff = new char[1024];
int readByCount = 0;
while (true)
{
readByCount = await clientStreamReader.ReadAsync(buff, 0, buff.Length);
Directory.CreateDirectory("Camera o3D1");
if (readByCount <= 0)
{
Console.WriteLine("Disconnected from Server.");
mClient.Close();
break;
}
if (readByCount > 30)
{
var output = (new string(buff).TrimEnd('\u0000'));
Console.WriteLine(output);
Console.WriteLine(output.GetType());
var output1 = output.Split(new[] { ";;" }, StringSplitOptions.RemoveEmptyEntries).Select(s => s.Split(';')).ToArray();
JToken jsonParsed = JToken.FromObject(output1);
Console.WriteLine(jsonParsed);
Console.WriteLine(jsonParsed.GetType());
}
//File.WriteAllLines("Camera o3D1/file.json", jsonParsed);
//File.AppendAllText("Camera o3D1/file.json", type);
Array.Clear(buff, 0, buff.Length);
}
}
catch (Exception excp)
{
Console.WriteLine(excp.ToString());
}
}
Я получил вывод:
[
[
"17.623665",
"87.380157",
"51.530350",
"121.286850",
"+0.480"
],
[
"89.199364",
"47.660252",
"123.106056",
"81.566940",
"+0.521"
],
[
"\r\n"
]
]
Newtonsoft. Json .Linq.JArray
Я хочу преобразовать его в массив double, чтобы, если бы я использовал jsonparsed[0]
, я должен был получить
[
"17.62",
"87.38",
"51.53",
"121.28",
"+0.48"
]
и jsonparsed[0][0]
, я должен получить 17,62 и все в двойном числе. Кто-нибудь из вас знает, как это сделать?