VB.net 读取JSON脚本的问题

tk600158 2011-03-02 09:46:40
现有一个未知的JSON数据,我想读取应该怎么做?

我知道用webbrowser 控件 然后写入JS脚本 然后读取WEBBROWSER内容可以获取

还有比这个更简单点的吗??

比如有JSON{"a":"1","b","2","c":3}

用什么方法才可以像这样获取

msgbox (JSON读取类).Item("a")

会输出1
...全文
321 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tk600158 2011-03-05
  • 打赏
  • 举报
回复
解决了 最后用的是webbrowser类
机器人 2011-03-02
  • 打赏
  • 举报
回复
string json = @"{""key1"":""value1"",""key2"":""value2""}";
var dict = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, string>>(json);
MessageBox.Show(dict["key1"]);
机器人 2011-03-02
  • 打赏
  • 举报
回复
那要看你的Json多复杂了。如果都是 "key1":"value1", "key2":"valu2" 一层的数据。
可以反序列化成 Dictionary 对象。
这样就可以用 Dictionary["key1"] 直接取值了。

推荐你使用Json.NET

wuyq11 2011-03-02
  • 打赏
  • 举报
回复
public class dealertest
{
public long identity
{
get;
set;
}
public int siteId
{
get ;
set;
}
}

//序列化
List<dealertest> list = new List<dealertest>();
dealertest d = new dealertest();
d.identity=323;
d.siteId = 32;
list.Add(d);
Console.Write(JavaScriptConvert.SerializeObject(list));

//反序列化
string returnstr = @"[{""identity"":1047744,""siteId"":10 },{""identity"":1047745,""siteId"":11}]";
List<dealertest> thislist = new List<dealertest>();
thislist =JavaScriptConvert.DeserializeObject<List<dealertest>>(returnstr);
Console.Write(thislist.Count);


Public Shared Function Deserialize(Of T)(json As String) As T
Dim obj As T = Activator.CreateInstance(Of T)()
Using ms As New MemoryStream(Encoding.UTF8.GetBytes(json))
Dim serializer As New System.Runtime.Serialization.Json.DataContractJsonSerializer(obj.[GetType]())
Return DirectCast(serializer.ReadObject(ms), T)
End Using
End Function

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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