不能用mongo db对象id解析json序列化字符串以及" \"

时间:2015-08-13 14:47:39

标签: javascript json angularjs mongodb

我有一个控制器,它将在Get操作中返回一个json序列化字符串:

data='[{"user":"CORP\\\\test","id":55cca31dd40238220c11d5a7}]'

但是,在我的角度JS层中,json解析无法工作:

JSON.parse(data)
(program):1 Uncaught SyntaxError: Unexpected token c

我试过,结果是返回的字符串应该是:

data='[{"user":"CORP\\\\\\\\test","id":"55cca31dd40238220c11d5a7"}]'

(还有两个\," id"应该有双引号。)

奇怪的是,我从.NET类中获取了json字符串:

var serializer = new JavaScriptSerializer();
return serializer.Serialize(obj);

以下是模型类:

[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public ObjectId Id { get; set; }

[BsonElement("User")]
public string User;

有人知道如何解决这个问题,使js代码中的json解析工作吗?

1 个答案:

答案 0 :(得分:0)

为了让ObjectID有引号,我相信您需要将ID属性的类型更改为字符串,如this post所示。