请教一个Json取数组中某个值的办法

中文命名法 2018-01-28 04:51:56
{
"binary": 0,
"channel": "ok_sub_spot_EOS_ETH_depth_10",
"data": {
"asks": [
[ "0.01347406", "50" ],
[ "0.01347405", "12.5832154" ],
[ "0.01346003", "19.7706985" ],
[ "0.0134513", "3.109" ],
[ "0.01345", "3.38235927" ]
],
"bids": [
[ "0.01331194", "17.8021832" ],
[ "0.01331193", "116.553" ],
[ "0.01329865", "88" ],
[ "0.01329864", "106.77401213" ],
[ "0.01328515", "132" ]
],
"timestamp": 1516873105061
}
}
假设我要取asks下面第二行的 [ "0.01347405", "12.5832154" ],我这样写报错了,正确的是怎么操作?
JObject 成员=上面那段json字符串;
Single asks第二行的第一个 = (Single)成员["data"]["asks"][1][0];
Single asks第二行的第二个 = (Single)成员["data"]["asks"][1][1];
...全文
1306 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
全栈极简 2018-01-29
  • 打赏
  • 举报
回复
添加引用:Newtonsoft.Json.dll
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Newtonsoft.Json.Linq;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string json = "{\"binary\": 0,\"channel\": \"ok_sub_spot_EOS_ETH_depth_10\",\"data\": {\"asks\": [[ \"0.01347406\", \"50\" ],[ \"0.01347405\", \"12.5832154\" ],[ \"0.01346003\", \"19.7706985\" ],[ \"0.0134513\", \"3.109\" ],[ \"0.01345\", \"3.38235927\" ]],\"bids\": [[ \"0.01331194\", \"17.8021832\" ],[ \"0.01331193\", \"116.553\" ],[ \"0.01329865\", \"88\" ],[ \"0.01329864\", \"106.77401213\" ],[ \"0.01328515\", \"132\" ]],\"timestamp\": 1516873105061}}";

            JObject obj = JObject.Parse(json);
            Console.WriteLine(obj["data"]["asks"][1]);
        }
    }
}
xuzuning 2018-01-28
  • 打赏
  • 举报
回复
var o = JObject.Parse("json串") o["data"]["asks"][1][0] o["data"]["asks"][1][1]
mirrorspace 2018-01-28
  • 打赏
  • 举报
回复
var obj=Newtonsoft.Json.JsonConvert.DeserializeObject(json); // 用这种能取到 obj.data.asks[1]

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧