转换数据表以进行工作

时间:2018-11-07 19:05:32

标签: json powerbi

我想将查询结果传递给带有rest api的power bi。 我有此代码可以通过并运行正常 代码:

           List<string> rows = new List<string>();
        rows.Add(@"'Name':'Laptop','Category':'Computers', 'Quantity': 1, 'Amount': 600.50");
        rows.Add(@"'Name':'Desktop','Category':'Computers', 'Quantity': 1, 'Amount': 420.25");
        rows.Add(@"'Name':'Headphones','Category':'Audio', 'Quantity': 1, 'Amount': 120.25");
        rows.Add(@"'Name':'LCD Tv','Category':'TV', 'Quantity': 1, 'Amount': 420.75");


        Random rnd = new Random();
        for (int i = 0; i < 1000; i++ )
        {

            int r = rnd.Next(4);
            int d = rnd.Next(7);
            DateTime dt = DateTime.Now.AddDays(-d);
            //String JSONSTRING = JsonConvert.SerializeObject(dt2, Formatting.Indented);
            //Console.Write(JSONSTRING);
            JObject joRow = JObject.Parse(@"{'rows':[{" + rows[r] + "}]}");
            Console.WriteLine(joRow.ToString());
            await pbi.AddRows(datasetId, "Data", joRow);
            System.Threading.Thread.Sleep(5000);

        }

output

如果我想使用此代码传递查询(SQL)的结果

            SqlDataAdapter da2 = new SqlDataAdapter(sql, cnn);
        DataSet ds = new DataSet();
        DataTable dt2 = new DataTable();
        da2.Fill(ds);
        da2.Fill(dt2);
        String JSONSTRING = JsonConvert.SerializeObject(dt2, Formatting.Indented);

不知道如何解析相同格式的JSONSTRING。 对不起我的英语不好! 谢谢

1 个答案:

答案 0 :(得分:0)

解决了!使用此代码

                String JSONSTRING = JsonConvert.SerializeObject(dt2);
            JSONSTRING = "{\"rows\":" +
            JSONSTRING + "}";
            Console.WriteLine(JSONSTRING);
            JObject joRow = JObject.Parse(JSONSTRING);