使用wcf传递json,实际上传递的就是字符串吗?我用不用给每一个传递项目都加上双引号?这个例子对吗?

yekeyishuo 2013-03-16 01:38:38
我要得到的json如下:
地址:http://pm25.in/api/querys/station_names.json
方法:GET
参数:
* city:必选
返回:
* city
* stations:值是一个数组,里面的一个数组又包含了station_name和station_code
成功返回示例:

{
"city": "珠海",
"stations": [
{
"station_name": "吉大",
"station_code": "1367A"
},
{
"station_name": "前山",
"station_code": "1368A"
},
{
"station_name": "唐家",
"station_code": "1369A"
},
{
"station_name": "斗门",
"station_code": "1370A"
}
]
}

那么我在wcf里面返回去的是下面去掉双引号的数据,然后json会自动添加双引号???还是我这边也要添加字符串??
 方法是:
[OperationContract]
[WebInvoke(ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped] string getJson();
返回字符串格式: station_name: 唐家,
station_code: 1369A
...全文
303 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
周公 2013-03-18
  • 打赏
  • 举报
回复
引用 8 楼 yekeyishuo 的回复:
引用 6 楼 zhoufoxcn 的回复:用直接的现成的类负责序列化成JSON,也可以直接反序列化,你根本不用操心什么引号的问题。 请问我加了双引号,然后拼接字符串,返回json格式,这样也没问题吧??
已经有车子,何必自己再造轮子?
jianshao810 2013-03-18
  • 打赏
  • 举报
回复
之前我用jq的话必须加双引号比较好,wcf 我不清楚。 之前回帖子的时候忘记你是要在wcf上使用,但是我建议你加上,不过,周公说的应该是最好的解决方案。
yekeyishuo 2013-03-17
  • 打赏
  • 举报
回复
引用 7 楼 happyer_longlong 的回复:
wcf 传递的话 用string 类型传递就可以了
要求返回json格式,其实就是返回字符串格式???
yekeyishuo 2013-03-17
  • 打赏
  • 举报
回复
引用 6 楼 zhoufoxcn 的回复:
用直接的现成的类负责序列化成JSON,也可以直接反序列化,你根本不用操心什么引号的问题。
请问我加了双引号,然后拼接字符串,返回json格式,这样也没问题吧??
happyer_longlong 2013-03-17
  • 打赏
  • 举报
回复
wcf 传递的话 用string 类型传递就可以了
机器人 2013-03-17
  • 打赏
  • 举报
回复
引用 8 楼 yekeyishuo 的回复:
引用 6 楼 zhoufoxcn 的回复:用直接的现成的类负责序列化成JSON,也可以直接反序列化,你根本不用操心什么引号的问题。 请问我加了双引号,然后拼接字符串,返回json格式,这样也没问题吧??
json里属性名可以不加双引号,但不符合规范。 比如: { name:"test" } 这个是不标准的,但也可以解析。 {"name":"test"} 才是符合标准的。 如果不符合标准,有些时候有些解析是不会通过的,比如用 javascript 的 JSON.parse 字符串只是一个载体,里面的格式是标准。字符串是json最常用的载体。
周公 2013-03-17
  • 打赏
  • 举报
回复
用直接的现成的类负责序列化成JSON,也可以直接反序列化,你根本不用操心什么引号的问题。
周公 2013-03-17
  • 打赏
  • 举报
回复
在.NET使用JSON作为数据交换格式 我们知道在.NET中我们有多种对象序列化的方式,如XML方式序列化、Binary序列化,其中XML序列化是一种比较通用的在各语言之间传递数据的方式。除了这两种序列化方式之外,在.NET中还可以使用JSON序列化。 JSON(JavaScript Object Notation)是一种轻量级轻量级的数据交换格式,并且它独立于编程语言,与XML序列化相比,JSON序列化后产生的数据一般要比XML序列化后数据体积小,所以在Facebook等知名网站中都采用了JSON作为数据交换方式。在.NET中有三种常用的JSON序列化的类,分别是System.Web.Script.Serialization.JavaScriptSerializer类、System.Runtime.Serialization.Json.DataContractJsonSerializer类和Newtonsoft.Json.JsonConvert类。
yekeyishuo 2013-03-16
  • 打赏
  • 举报
回复
引用 3 楼 jianshao810 的回复:
需要加双引号,尤其用jq的时候。
既然这样,请问wcf使用json格式传跟使用其他格式传有什么区别?,反正我传的是stirng类型,用其他的格式应该也可以吧
jianshao810 2013-03-16
  • 打赏
  • 举报
回复
需要加双引号,尤其用jq的时候。
梨花树下思考 2013-03-16
  • 打赏
  • 举报
回复
菜牛 2013-03-16
  • 打赏
  • 举报
回复
12306的程序员?肃然起敬! 返回的就跟你举例一样都加上双引号,这是严格模式的JSON规范。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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