请问,这种json应该怎么去取值呢

这种类型的json应该怎么去获取里面的值,然后存入数据库,搞了很久搞不定,刚刚接触编程,请问这种问题应该怎么去解决呢

img

找这个 dll,添加引用 Newtonsoft.Json.dll

var str = "[[\"123\",\"456\",\"789\"],[\"asd\",\"zxc\",\"bnm\"]]";

这种数组型的json只能转array

[{"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);
    }