在 C# 中解析 stdClass object
Parse stdClass object in C#
我目前正在开发一个客户端,它比另一个现有的游戏客户端具有更多的功能。我想添加的功能之一是用户能够将 IP 地址添加到他们的收藏夹并显示该服务器的相关信息(IP、端口、主机名、游戏模式等)。
为了做到这一点,我使用了一个 API,它带有几个参数,例如 IP 地址和端口。它 returns 某种包含我需要的信息的字符串。但是,我无法从字符串中提取所需的信息。我确实设法做到了,但是我通过使用十几个子字符串从响应中删除参数值来快速而肮脏地做到了。
下面是一个 API 调用的例子:http://monitor.sacnr.com/api/?IP=149.202.89.123&Port=7777&Action=info
最初我认为响应是某种 JSON 字符串,但经过一番谷歌搜索后,我在 Whosebug 上发现了一个关于 stdClass 的 question。显然它是某种通用的 PHP class.
所以我的问题是:如何将 API 的响应转换为 JSON 或 XML,以便轻松解析?
示例响应:
O:8:"stdClass":18:{s:8:"ServerID";s:7:"1780392";s:2:"IP";s:14:"149.202.89.123";s:4:"Port";s:4:"7777";s:8:"Hostname";s:32:"Next Generation Roleplay (0.3.7)";s:8:"Gamemode";s:14:"NG:RP v3.0.409";s:8:"Language";s:7:"English";s:3:"Map";s:13:"NG-Gaming.net";s:10:"MaxPlayers";s:3:"500";s:7:"Players";s:3:"131";s:7:"Version";s:8:"0.3.7-R2";s:8:"Password";s:1:"0";s:4:"Time";s:5:"20:00";s:6:"WebURL";s:13:"ng-gaming.net";s:4:"Rank";s:3:"112";s:10:"AvgPlayers";s:5:"88.27";s:9:"HostedTab";s:1:"1";s:10:"LastUpdate";s:10:"1486138780";s:12:"TotalServers";s:4:"1305";}
尝试使用 Sharp Serialization Library。
根据他们的描述:"Sharp Serialization Library serializes and deserializes primitives, ArrayLists and Hashtables, compatible with PHP serialize()"
我目前正在开发一个客户端,它比另一个现有的游戏客户端具有更多的功能。我想添加的功能之一是用户能够将 IP 地址添加到他们的收藏夹并显示该服务器的相关信息(IP、端口、主机名、游戏模式等)。
为了做到这一点,我使用了一个 API,它带有几个参数,例如 IP 地址和端口。它 returns 某种包含我需要的信息的字符串。但是,我无法从字符串中提取所需的信息。我确实设法做到了,但是我通过使用十几个子字符串从响应中删除参数值来快速而肮脏地做到了。
下面是一个 API 调用的例子:http://monitor.sacnr.com/api/?IP=149.202.89.123&Port=7777&Action=info
最初我认为响应是某种 JSON 字符串,但经过一番谷歌搜索后,我在 Whosebug 上发现了一个关于 stdClass 的 question。显然它是某种通用的 PHP class.
所以我的问题是:如何将 API 的响应转换为 JSON 或 XML,以便轻松解析?
示例响应:
O:8:"stdClass":18:{s:8:"ServerID";s:7:"1780392";s:2:"IP";s:14:"149.202.89.123";s:4:"Port";s:4:"7777";s:8:"Hostname";s:32:"Next Generation Roleplay (0.3.7)";s:8:"Gamemode";s:14:"NG:RP v3.0.409";s:8:"Language";s:7:"English";s:3:"Map";s:13:"NG-Gaming.net";s:10:"MaxPlayers";s:3:"500";s:7:"Players";s:3:"131";s:7:"Version";s:8:"0.3.7-R2";s:8:"Password";s:1:"0";s:4:"Time";s:5:"20:00";s:6:"WebURL";s:13:"ng-gaming.net";s:4:"Rank";s:3:"112";s:10:"AvgPlayers";s:5:"88.27";s:9:"HostedTab";s:1:"1";s:10:"LastUpdate";s:10:"1486138780";s:12:"TotalServers";s:4:"1305";}
尝试使用 Sharp Serialization Library。
根据他们的描述:"Sharp Serialization Library serializes and deserializes primitives, ArrayLists and Hashtables, compatible with PHP serialize()"