首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RavenDB,存储Json对象(c#)

RavenDB,存储Json对象(c#)
EN

Stack Overflow用户
提问于 2014-12-02 23:28:55
回答 1查看 507关注 0票数 0

我使用以下代码将字符串变量解析为Json对象:

代码语言:javascript
运行
复制
string[] rInfo = r.Info.ToString().Split('|'); 
dynamic JSON_Obj = JObject.Parse(rInfo[0]);

它在代码中看起来很好,这意味着如果我在运行时检查对象,它的内容是正确的。但是,在我将其存储在RavenDB中之后,它看起来如下所示:

代码语言:javascript
运行
复制
{"street": {
    "$type": "Newtonsoft.Json.Linq.JValue, Newtonsoft.Json",
    "$values": []
},
"country": {
    "$type": "Newtonsoft.Json.Linq.JValue, Newtonsoft.Json",
    "$values": []
}}

例如,在国家/地区中应该类似于"ES“或"GB”。

我将JSON对象存储为文档的一部分,如下所示:

代码语言:javascript
运行
复制
                PATCHED_Doc Doc = new PATCHED_Doc()
                {
                    Info = JSON_Obj, 
                    Value = "test",
                    Id = r.Id,
                    Date = r.Date,
                };

                session.Store(Doc);
                session.SaveChanges();

提前感谢您的帮助。

EN

回答 1

Stack Overflow用户

发布于 2014-12-03 20:23:21

法哈达什是对的。我必须创建一个类来映射属性。

代码语言:javascript
运行
复制
var JSON_Obj = Newtonsoft.Json.JsonConvert.DeserializeObject<Infolist>(strJSON);

Infolist为:

代码语言:javascript
运行
复制
public class Infolist
{
    public string street { get; set; }
    public string coutnry { get; set; }
    ...
}

它是这样工作的.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27253014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档