首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在数据库中持久化这个json?

如何在数据库中持久化这个json?
EN

Stack Overflow用户
提问于 2012-08-07 11:21:16
回答 2查看 413关注 0票数 0

我的Json代码如下

代码语言:javascript
运行
复制
[
    {"group":{"key":"Chinese","title":"Chinese","shortTitle":"Chinese","recipesCount":0,"description":"Chinese cuisine is any of several styles originating from regions of China, some of which have become increasingly popular in other parts of the world – from Asia to the Americas, Australia, Western Europe and Southern Africa. The history of Chinese cuisine stretches back for many centuries and produced both change from period to period and variety in what could be called traditional Chinese food, leading Chinese to pride themselves on eating a wide range of foods. Major traditions include Anhui, Cantonese, Fujian, Hunan, Jiangsu, Shandong, Szechuan, and Zhejiang cuisines. ","rank":"","backgroundImage":"images/Chinese/chinese_group_detail.png", "headerImage":"images/Chinese/chinese_group_header.png"},
    "key":1000,
    "title":"Abalone Egg Custard",
    "shortTitle" : "Abalone Egg Custard", 
    "serves":4,
    "perServing":"65kcal / 2.2g fat",
    "favorite":false,
    "rating": 3 , 
    "directions":["Step 1.","Step 2.","Step 3.","Step 4.","Step 5."],
    "backgroundImage":"images/Chinese/AbaloneEggCustard.jpg",
    "healthytips":["Tip 1","Tip 2","Tip 3"],
    "nutritions":["Calories 65kcal","Total Fat 2.2g","Carbs 4g","Cholesterol 58mg","Sodium 311mg","Dietary Fibre 0.3g"],
    "ingredients":["1 head Napa or bok choy cabbage","1/4 cup sugar","1/4 teaspoon salt","3 tablespoons white vinegar","3 green onions","1 (3-ounce) package ramen noodles with seasoning pack","1 (6-ounce) package slivered almonds","1 tablespoon sesame seeds","1/2 cup vegetable oil"]}
]

我如何在数据库中持久化这个?因为在一天结束的时候,我必须从数据库中读取并能够使用webapi解析它。

EN

回答 2

Stack Overflow用户

发布于 2012-08-07 11:23:45

将其作为CLOB数据类型保存在数据库中,以防长度超过varchar的限制。

票数 0
EN

Stack Overflow用户

发布于 2012-08-07 20:42:17

这里有这么多可能的答案--您需要提供更多详细信息才能得到具体的答案。

数据库

您使用的是什么数据库?是关系数据库、对象数据库还是非sql数据库?如果您从非sql的角度来看--将它保存为一个块可能没问题。从RDBMS的角度(如SQL Server),您可以将所有字段映射到一组相关表中的一系列行。如果您使用的是关系数据库,那么在数据库中塞入一个未解析、未验证的JSON文本块是错误的。为什么要费心雇佣一个提供DRI的数据库呢?

数据操作层

您的问题包括将使用哪种类型的数据操作--可以是linq to sql,可以是直接的ADO,可以是像Dapper、data或PetaPoco这样的微型对象关系映射,也可以是像实体框架或NHibernate这样的成熟的对象关系映射。

你是否选择了其中的一个,或者你正在寻找选择一个的指导?

WebAPI中的解析

在WebApi中,从JSON到对象或从对象到JSON的转换很容易。特别是对于JSON,JSON.Net格式化程序一直在使用。您可以从查看herehereherehere开始。

但是,从概念上讲,您似乎缺少了WebAPI的一部分魔力。使用WebAPI,您可以返回对象的本机状态(如果需要OData支持,则返回IQueryable )。在函数调用完成格式化程序的调用后,接管格式化程序,并根据客户端请求将其序列化为适当的形状。此过程称为内容协商。其思想是您的方法是格式不可知的,并且框架将数据序列化为您的客户端所需的传输格式(xml、json等等)。

反之亦然,框架将客户端提供的格式反序列化为本机对象。

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

https://stackoverflow.com/questions/11838796

复制
相关文章

相似问题

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