C#局域网内UDP广播获取获取JSON数据并解析

本文演示了如何使用C#实现局域网内的UDP广播,发送JSON格式的数据,并接收及解析数据。通过创建`UdpClient`实例,设定目标地址和端口,发送数据后循环接收多个服务器的响应,利用`Newtonsoft.Json.Linq`库解析JSON对象,打印出`arg`字段下的`ip`值。
摘要由CSDN通过智能技术生成
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using Newtonsoft.Json.Linq;//JObject的引用 
using System.Net;
using System.Net.Sockets;//Socket的引用

namespace Demo10
{
    class Program
    {
        static void Main(string[] args)
        {
            //string hostname = Dns.GetHostName();//获取主机名
            //System.Net.IPAddress[] ListIP = Dns.GetHostAddresses(hostname);//获取主机信息列表
            //string LocalIP = ListIP[1].ToString();//获取主机IP
            UdpClient udpClient = new UdpClient();//实例化UDP套接字
            IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Parse("255.255.255.255"), 8990);//定义UDP连接对象
            string sendString = "!{\"arg\":\"*\",\"nodeid\":\"*\",\"opcode\":\"FIND_CCU\",\"requester\":\"LS_CCU\"}$";//通信的交互数据
            byte[] sendData = Encoding.Default.Get
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#解析JSON数据可以使用Newtonsoft.Json库。这个库可以将JSON数据转换成.NET对象,或者将.NET对象转换成JSON数据。 以下是一个例子,展示如何解析JSON数据获取其中的值: ```csharp using Newtonsoft.Json.Linq; // json是一个包含JSON数据的字符串 string json = "{ \"name\": \"John\", \"age\": 30 }"; // 将JSON数据转换成JObject对象 JObject obj = JObject.Parse(json); // 从JObject对象中获取值 string name = (string)obj["name"]; int age = (int)obj["age"]; ``` 首先,使用JObject.Parse方法将JSON数据转换成JObject对象。然后,使用索引器访问对象的属性并强制转换为需要的类型。 当然,如果你知道JSON数据结构的具体格式,还可以使用反序列化来将JSON数据转换成.NET对象。这种方法更加方便,因为你可以直接使用.NET对象的属性和方法来访问数据。 以下是一个例子,展示如何使用反序列化来解析JSON数据: ```csharp using Newtonsoft.Json; // 定义一个.NET类来表示JSON数据的结构 public class Person { public string Name { get; set; } public int Age { get; set; } } // json是一个包含JSON数据的字符串 string json = "{ \"name\": \"John\", \"age\": 30 }"; // 将JSON数据反序列化成Person对象 Person person = JsonConvert.DeserializeObject<Person>(json); // 访问Person对象的属性 string name = person.Name; int age = person.Age; ``` 这个例子中,我们定义了一个Person类来表示JSON数据的结构。然后,使用JsonConvert.DeserializeObject方法将JSON数据反序列化成Person对象。最后,通过访问Person对象的属性来获取数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值