有谁知道如何将包含json的字符串转换为C#数组.我有这个从webBrowser读取text/json并将其存储到字符串中.
string docText = webBrowser1.Document.Body.InnerText;
Run Code Online (Sandbox Code Playgroud)
只需要以某种方式将json字符串更改为数组.一直在看Json.NET,但我不确定这是否是我需要的,因为我不想将数组更改为json; 但反过来说.谢谢您的帮助!
我在文件timezones.json中跟随json:
{ "Atlantic/Canary": "GMT Standard Time", "Europe/Lisbon": "GMT Standard Time",
"Antarctica/Mawson": "West Asia Standard Time", "Etc/GMT+3": "SA Eastern Standard Time",
"Etc/GMT+2": "UTC-02", "Etc/GMT+1": "Cape Verde Standard Time", "Etc/GMT+7": "US Mountain
Standard Time", "Etc/GMT+6": "Central America Standard Time", "Etc/GMT+5": "SA Pacific
Standard Time", "Etc/GMT+4": "SA Western Standard Time", "Pacific/Wallis": "UTC+12",
"Europe/Skopje": "Central European Standard Time", "America/Coral_Harbour": "SA Pacific
Standard Time", "Asia/Dhaka": "Bangladesh Standard Time", "America/St_Lucia": "SA Western
Standard Time", "Asia/Kashgar": "China Standard Time", "America/Phoenix": "US Mountain
Standard Time", "Asia/Kuwait": "Arab Standard …Run Code Online (Sandbox Code Playgroud) 我想转换JSON字符串
"{ \"birthday\": \"1988-03-18\", \"address\": { \"state\": 24, \"city\": 8341, \"country\": 1 } }"
Run Code Online (Sandbox Code Playgroud)
至
"{ \"address\": { \"city\": 8341, \"country\": 1, \"state\": 24 }, \"birthday\": \"1988-03-18\" }"
Run Code Online (Sandbox Code Playgroud)
注意:我没有使用排序版本进行通信(因为密钥顺序并不重要),我需要一个排序版本来执行本地测试(通过比较JSON字符串).
编辑: I4V指出一个使用Json.Net的解决方案,我宁愿使用一个不需要包含任何第三方库的解决方案(实际上我在我的应用程序中使用内置的System.Json)
我张贴由I4V +一些测试提供的解决方案要点这里.谢谢你们.
我正在尝试在 C# 中处理一些 json 格式的数据,但是,我在确定解决问题的正确方法时遇到了一些问题。我的问题是 json 格式的数据将采用未知格式(我知道这听起来很奇怪……请继续阅读)。基本上,json 格式的数据将是一些名称/值对的集合,其中值可能是也可能不是嵌套名称/值对的数组。为了让事情变得更有趣,名称/值对数组的嵌套可以无限地继续。
例如:我可能有一些数据看起来像……
{
"1": {
"1.1": {
"1.1.1": "value1",
"1.1.2": "value2",
"1.1.3": "value3"
},
"1.2": "value4",
"1.3": {
"1.3.1": {
"1.3.1.1": "value5",
"1.3.1.2": "value6"
},
"1.3.1.2": "value7",
"1.3.1.3": "value8"
}
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,我不知道会发生多少嵌套,而且从技术上讲,我不知道任何给定消息中将出现哪些名称/值对。
C# 中是否有任何受支持的机制可以让我轻松地将其解析为一组嵌套的 hastables?
我想做一些类似的事情(请注意,这段代码在语法上不是 100% 正确的,最好通过递归来完成……但它使这个想法变得清晰)。
Hashtable ht = [deserialize data method](jsonformattedstring);
foreach (Hashtable nested in ht)
{
If (nested.count > 1)
{
Foreach (hashtable next in nested)
…
}
}
Run Code Online (Sandbox Code Playgroud) 我需要导航Json结构,因为我将使用导航XML XmlDocument.
结构未知,我需要迭代节点来解析一些数据.
这可能吗?
我知道我可以使用JavaScriptSerializer它将其反序列化为已知类型,但事实并非如此,因为我可以收到任何有效的json.
我正在使用.NET 3.5(SP1),目前无法升级到4.0.
我升级到.NET 4.0以使用动态类型(这是令人敬畏的代码)
我有一个 JSon 响应,其中包含大量 \u003c 或 \u00252 或其他类似的字符串。我需要一个适当的函数才能将这些字符串解码为正确的字符。
我以JSON对象的形式从RESTful API获得响应.通常情况下,当密钥已知时,我可以解析这个问题.例如,我创建了一个User这样的类:
[DataContract]
public class User
{
[DataMember]
public string id { get; set; }
[DataMember]
public string name { get; set; }
[DataMember]
public string email { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我所要做的就是将响应读入我的JSON反序列化器并告诉它输出是<User>,我很高兴.在进行其他请求(例如销售数据)时,这不足.我得到的回应是这样的:
{
"2010-11-24": {
"country": null,
"iso": null,
"product": null,
"downloads": 39,
"net_downloads": 38,
"updates": 6,
"revenue": "19.02",
"returns": 1,
"gift_redemptions": 0,
"promos": 0
},
"2010-11-25": {
"country": null,
"iso": null,
"product": null,
"downloads": 63,
"net_downloads": 63,
"updates": 6,
"revenue": "37.00",
"returns": 0,
"gift_redemptions": 0,
"promos": …Run Code Online (Sandbox Code Playgroud)