C#利用Newtonsoft.Json.dll读取json字符串实例

Craze1995 2015-09-29 05:53:48
C#利用Newtonsoft.Json.dll读取json字符串实例

时间:2013-6-15 15:17:53 点击: 413

  核心提示: 今天介绍在winform中通过Newtonsoft.Json.dll类来处理json类,来获取json字符串类型中的值。 首先要下载Newtonsoft.Json.dll,下载地址:http://w...
今天介绍在winform中通过Newtonsoft.Json.dll类来处理json类,来获取json字符串类型中的值。

首先要下载Newtonsoft.Json.dll,下载地址:http://www.aspbc.com/code/showcode.asp?id=200

接下来开始了

1、打开vs2010,创建一个C# winform解决方案

2、先创建一个txt文件,用来存储json字符中,内容如下:

{
"status":"1",
"postPrice":[
{
"Productid":1,
"Productname": "手机",
"Price":25.5,
"num": 1000,
"url":"http://www.baidu.com"
},
{
"Productid":2,
"Productname": "相机",
"Price":75,
"num": 2000,
"url":"http://www.aspbc.com"
}
]
}

给这个txt命名为json.txt,放到解决方案中bin/debug文件夹下,再把Newtonsoft.Json.dll也放到这个文件夹下。

3、右击“引用”--“浏览”,找到bin/debug下的Newtonsoft.Json.dll,把这个类引用到项目中来。

4、在winform中添加一个按纽,然后双击这个按纽,进入代码编写状态,在里面输入以下C#代码

//类方式
string str = getjson();
goodsinfo g= JsonConvert.DeserializeObject<goodsinfo>(str);
for (int i = 0; i < g.postPrice.Length; i++)
{
MessageBox.Show(g.postPrice[i].url);
}


5、上面一步中有个getjson()函数,代码如下:
private string getjson()
{
StringBuilder str = new StringBuilder();
str.Append("");
string path = System.Environment.CurrentDirectory + "\\json.txt";
FileStream fs = new FileStream(path, FileMode.Open);
StreamReader m_streamReader = new StreamReader(fs);
str.Append(m_streamReader.ReadToEnd());
m_streamReader.Close();
m_streamReader.Dispose();
fs.Close();
fs.Dispose();
return str.ToString();
}


6、在这个文件的最上面加上两个引用

using Newtonsoft.Json;
using System.IO;



我做的时候有两个错误,
错误1“int”不包含“Length”的定义,并且找不到可接受类型为“int”的第一个参数的扩展
错误2无法将带 [] 的索引应用于“int”类型的表达式c:\users\lihua\documents\visual studio 2012\Projects
...全文
408 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
在遇到bug时连出错行号都不说出来,那么最好先从这个学起。学技术还有点,先学该如何报bug、理解为何要这样报bug,比较有利于继续学习。
  • 打赏
  • 举报
回复
调试的时候要定位到具体的那一行代码,并且直接在调试器上调试。如果你懒得说明哪一行抛出异常,那么就贴出一个实际的截屏画面。而不是随便抄文字(指出具体的行,是第一位的)。 另外,你贴的代码根本不能说明问题,你并没有说明 goodsinfo 是什么。不过你之所以不贴出这个 goodsinfo,究其原因,也还是因为你在报 bug 时不实际去地说明抛出异常的行。如果你能指出出错的行、语句,一般来说,那样的学生都会去自觉地贴出 goodsinfo 的了。
Craze1995 2015-09-29
  • 打赏
  • 举报
回复
应该如何定义呢
  • 打赏
  • 举报
回复
你的goodsinfo类定义呢?

62,042

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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