Json反序列化问题(在线等)

yqyqyoyo 2010-11-12 05:35:56
找不到方法:“Boolean System.Runtime.Serialization.DataContractAttribute.get_IsReference()”。
StackTrace:
在 Newtonsoft.Json.Serialization.DefaultContractResolver.InitializeContract(JsonContract contract)
在 Newtonsoft.Json.Serialization.DefaultContractResolver.CreateObjectContract(Type objectType)
在 Newtonsoft.Json.Serialization.DefaultContractResolver.CreateContract(Type objectType)
在 Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContract(Type type)
在 Newtonsoft.Json.JsonSerializer.SerializeInternal(JsonWriter jsonWriter, Object value)
在 Newtonsoft.Json.JsonConvert.SerializeObject(Object value, Formatting formatting, JsonSerializerSettings settings)
在 Newtonsoft.Json.JsonConvert.SerializeObject(Object value)


在调用Newtonsoft.Json.JsonConvert.SerializeObject(user_for_editing) 的时候抛出这个异常。
user_for_editing 是一个对象的实体。
开发环境是vs 2008 使用 .net framework 3.5 sp1 环境开发,在本机运行没问题,传到服务器上其他的地方都没事,唯独这个地方抛出这个异常。
请问有谁遇到过是怎么解决这个问题的?
...全文
509 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xf198903 2010-12-10
  • 打赏
  • 举报
回复
帖子沉了求解这个问题
m00ners 2010-12-10
  • 打赏
  • 举报
回复
检查服务器的Framework
IHandler 2010-12-10
  • 打赏
  • 举报
回复
有没有检查服务器上文件是否完整,是否与本机一致
IHandler 2010-12-10
  • 打赏
  • 举报
回复
先要把实体类一个个写出来
如:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;

namespace MBClient.Entities
{
[DataContract]
internal class Status
{
[DataMember]
internal string created_at { get; set; }
[DataMember]
internal string id { get; set; }
[DataMember]
internal string text { get; set; }
[DataMember]
internal string source { get; set; }
[DataMember]
internal bool favorited { get; set; }
[DataMember]
internal bool truncated { get; set; }
[DataMember]
internal string geo { get; set; }
[DataMember]
internal string in_reply_to_status_id { get; set; }
[DataMember]
internal string in_reply_to_user_id { get; set; }
[DataMember]
internal string in_reply_to_screen_name { get; set; }
[DataMember]
internal string thumbnail_pic { get; set; }
[DataMember]
internal string bmiddle_pic { get; set; }
[DataMember]
internal string original_pic { get; set; }
[DataMember]
internal PostUser user { get; set; }
[DataMember]
internal RetweetedStatus retweeted_status { get; set; }
}
}



然后反序列化

internal static List<Status> DeserializeJsonToListObject(string url, string httpRequestMethod)
{
List<Status> listObj;
MemoryStream stream = new MemoryStream();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(List<Status>));
StreamWriter wr = new StreamWriter(stream);
string strJson = ReadJsonDataToString(url, httpRequestMethod);//这里是JSON字符串
wr.Write(strJson);
wr.Flush();
stream.Position = 0;
Object obj = ser.ReadObject(stream);
listObj = (List<Status>)obj;
wr.Close();
stream.Close();
return listObj;
}
char1st 2010-12-10
  • 打赏
  • 举报
回复
服务器也是.net framework 3.5 sp1么?
这里也有类似的问题
http://hi.baidu.com/thought007/blog/item/62a745ca8b6a7e34b700c87d.html
yqyqyoyo 2010-11-12
  • 打赏
  • 举报
回复
json 格式没有问题。我在本机运行同样的东西,传过去的参数也是相同的,
我把同样的程序打包放到自己的电脑和同事的电脑都没这个问题,
但换到服务器上就出现这个异常了。
snowmagic 2010-11-12
  • 打赏
  • 举报
回复
看一下传过来的json text是不是正常的

62,243

社区成员

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

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

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

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