1 using Newtonsoft.Json.Linq;
3 using System.Collections.Generic;
16 #region PUBLIC_METHODS 17 public static string EncodeQuery(
string host,
string port,
bool isPretty,
string db,
string query)
28 return "http://" + host +
":" + port +
"/query?db=" + db + (isPretty ?
"&pretty=true" :
"") +
"&q=" +
System.Uri.EscapeDataString(query);
39 JToken results = JToken.Parse(jsonToParse);
40 IList<JToken> vals = results[
"results"][0][
"series"][0][
"values"].Children().ToList();
41 IList<Values> toReturn =
new List<Values>();
42 foreach (JToken val
in vals)
46 t = DateTime.Parse(val[0].ToString()),
49 result.
time = result.
t.Ticks;
50 double.TryParse(val[2].ToString(), out result.
val);
66 JToken results = JToken.Parse(jsonToParse);
67 IList<JToken> vals = results[
"results"][0][
"series"][0][
"values"].Children().ToList();
68 IDictionary<DateTime, Vector2> toReturn =
new Dictionary<DateTime, Vector2>();
69 foreach (JToken val
in vals)
71 DateTime key = DateTime.Parse(val[0].ToString());
74 float.TryParse(val[1].ToString(), out value);
75 toReturn[key] =
new Vector2(t, value);
88 public static IDictionary<DateTime, Vector2>
ParseValuesNoType(
string jsonToParse, IDictionary<DateTime, Vector2> dict)
90 JToken results = JToken.Parse(jsonToParse);
91 IList<JToken> vals = results[
"results"][0][
"series"][0][
"values"].Children().ToList();
92 foreach (JToken val
in vals)
94 DateTime key = DateTime.Parse(val[0].ToString());
97 float.TryParse(val[1].ToString(), out value);
98 dict[key] =
new Vector2(t, value);
112 JToken results = JToken.Parse(jsonToParse);
113 IList<JToken> vals = results[
"results"][0][
"series"][0][
"values"].Children().ToList();
114 return vals.Select(val => val[1].ToString()).ToArray<
string>();
116 #endregion //PUBLIC METHODS 132 return "DateTime: " + t.ToString() +
", type: " + type +
", val: " + val +
", isSet: " + isSet;
static string [] ParseLabels(string jsonToParse)
Queries database for type labels (ie CO2, temperature, etc)
Static helper functions for Influx querying and serialization
override string ToString()
static IDictionary< DateTime, Vector2 > ParseValuesNoType(string jsonToParse, IDictionary< DateTime, Vector2 > dict)
Parses the values from a given json string - for use in populating widgets
static IDictionary< DateTime, Vector2 > ParseValuesNoType(string jsonToParse)
Parses the values from a given json string - for use in populating widgets
static IList< Values > ParseValues(string jsonToParse)
static string EncodeQuery(string host, string port, bool isPretty, string db, string query)
Builds https query for use with InfluxDB https query language