这种类型的json应该怎么去获取里面的值,然后存入数据库,搞了很久搞不定,刚刚接触编程,请问这种问题应该怎么去解决呢
找这个 dll,添加引用 Newtonsoft.Json.dll
var str = "[[\"123\",\"456\",\"789\"],[\"asd\",\"zxc\",\"bnm\"]]";
[{"time":"4/27/2018","Name":"一楼","No":"2"},{"time":"4/28/2018","Name":"一楼","No":"3"},{"time":"4/24/2018","Name":"一楼","No":"7"}]
static void Main(string[] args)
{
var str = "[[\"123\",\"456\",\"789\"],[\"asd\",\"zxc\",\"bnm\"]]";
var m = Newtonsoft.Json.JsonConvert.DeserializeObject(str);
var arr = (Newtonsoft.Json.Linq.JArray)m;
var ls = arr[0].ToArray(); //第一组
foreach (var item in arr)
{
var ar = item.ToArray();
Console.WriteLine(ar[0]);
Console.WriteLine(ar[1]);
Console.WriteLine(ar[2]);
}
Console.WriteLine(str);
Console.ReadLine();
}
你先把这些数据到json格式验证工具看下是不是对的哦
https://www.bejson.com/
请看示例:
using Newtonsoft.Json;
var json ="[[\"a\", \"b\"],[\"c\", \"d\"]]";
string[][] result= JsonConvert.DeserializeObject<string[][]>(json);
for(var i=0;i<result.Length;i++)
{
for (int j = 0; j < result[i].Length; j++)
{
Console.WriteLine($"{result[i][j]}");
}
}
运行结果:
a
b
c
d
你好,
首先你这个json 数据的格式不对吧?语法应该类似于这样子:
"name":"John"
其次,你需要先读取这个json 文件。看这个例子。
public void LoadJson()
{
using (StreamReader r = new StreamReader("file.json"))
{
string json = r.ReadToEnd();
List<Item> items = JsonConvert.DeserializeObject<List<Item>>(json);
}
}
public class Item
{
public int millis;
public string stamp;
public DateTime datetime;
public string light;
public float temp;
public float vcc;
}
dynamic array = JsonConvert.DeserializeObject(json);
foreach(var item in array)
{
Console.WriteLine("{0} {1}", item.temp, item.vcc);
}