Как я могу десериализовать JSON-запрос effxDB, чтобы он выглядел как таблица с помощью Newtonsoft.Json? - PullRequest
0 голосов
/ 14 июня 2019

Я получаю JSON-объект от infxDB, который содержит содержимое таблицы из таблицы "cpu", но на консоли отображается неформатированная строка

{"results":[{"statement_id":0,"series":[{"name":"cpu","columns":["time","host","region","value"],"values":[["1970-01-01T00:00:01.559815781Z","serverA","us_west",95],["2019-06-06T09:59:40.68601263Z","serverA","us_west",0.64],["2019-06-06T10:09:41.790446331Z","serverA","us_west",0.78]]}]}]}

Ссылка на System.Web.Script.Serialization isnЭто не вариант, потому что я использую .NET Core.

Я поместил «pretty = true» в EscapeUriString, что помогает мне получить более качественный результат JSON.

Результат после "pretty = true"

Запрос, который я отправлю, может отличаться, поэтому создание класса тоже не вариант

Это мой код так долго

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Net;

namespace InfluxDBQuery
{
    class Program
    {
        static void Main(string[] args)
        {
            string influxURL = "http://172.29.213.151:8086/query";
            string database = "mydb";
            string pretty = "pretty=true&";

            var client = new WebClient();
            var queryString = Uri.EscapeUriString($"?{pretty}db={database}&q=SELECT * FROM cpu");
            var queryUrl = influxURL + queryString;
            var response = client.DownloadString(queryUrl);
            Console.WriteLine(response);

            dynamic json = JsonConvert.DeserializeObject(response);
            Console.WriteLine(json);

        }
    }
}

Итак, как мне отформатировать результат запроса InfluxDB, чтобы он выглядел как таблица?

...