我在搜索JSON对象时有点困难,主要是因为一个相对较新的程序员。 我需要做的第一件事就是取回它具有以下格式的JSON表:C#JSON对象查询
{
"1": {
"10": 1,
"15": 1,
"17": 1,
"20": 1,
"40": 2
},
"7": {
"20": 2
},
"12": {
"40": 2
},
"14": {
"17": 2
},
"15": {
"10": 2,
"15": 1,
"17": 2,
"20": 3
}
}
在这里,我们有两个记录(在现实中会有300 - 400)。我把它放在一个JSON对象中。
接下来,我收到准实时JSON记录格式如下:
{
"Call": "VR2XMT",
"Spotter": "UA4HTT",
"Comment": "strong",
"Freq": 28497,
"Band": 10,
"Dxcc": 321,
"Date": "2014-03-13T13:40:50.484133322Z"
}
如果你看一下表,“1”或“7”代表“DXCC”的datavalue:321,在记录。 “Band”表示表中的嵌套键。 我的查询需要做的是看看表中是否存在“Dxcc”,以及该记录是否存在“Band”。 我不知道如何做到这一点。我试图转换成字典,但这没有奏效。 这里是基本的代码至今:
class Program
{
static void Main(string[] args)
{
using (WebClient client = new WebClient())
{
var data = client.DownloadString("url");
JObject o;
o = JObject.Parse(data);
}
using (var context = ZmqContext.Create())
{
using (var socket = context.CreateSocket(SocketType.SUB))
{
socket.SubscribeAll();
socket.Connect("tcp://clublog.org:7373");
while (true)
{
Thread.Sleep(100);
var replyMsg = socket.Receive(Encoding.UTF8);
Console.WriteLine(replyMsg);
}
socket.UnsubscribeAll();
socket.Close();
}
}
}
}
}
有人可以请大家帮帮忙吗?我甚至不确定是否可以直接查询,或者如果我需要把它放在字典或什么?
我很难理解问题的要求。我看到你将数据解析成一个JObject,但是你之后对数据不做任何处理。你能否澄清这些要求并给出一个更精确的问题? 与此同时http://james.newtonking.com/json/help/index.html?topic=html/QueryingLINQtoJSON.htm可能是你想要的。 –
你可以看到:http://www.clublog.org:7373/ – Thomas
你在这里有什么问题?什么都行不通,你有例外,意外的结果吗? – Thomas