【问题标题】:How to split/parse JSON data and save it into SQL server?如何拆分/解析 JSON 数据并将其保存到 SQL 服务器中?
【发布时间】:2019-06-01 21:53:03
【问题描述】:

我有一个 MVC 控制器来接收从 WinForms 应用程序发送的 JSON 数据。如何拆分 JSON 字符串并将其存储到 SQL Server 中?

这是我的控制器来接收和反序列化 json 对象:

Stream req = Request.InputStream;
req.Seek(0,System.IO.SeekOrigin.Begin);
string json = new StreamReader(req).ReadToEnd();
hl7View hl = null;
hl = JsonConvert.DeserializeObject<hl7View>(json);
//hl do have a string data like this
//"{\"data\":[{\"LOC\":\"TEST\",\"COMPANY\":\"BST\",\"MSG_ID\":\"20160701123200-112\",\"NS\":\"\",\"ROOM\":\"\",\"BED\":\"\",\"SID\":\"25444444\",\"OBS_SEQ\":\"1\",\"OBS_TIME\":\"20160701164801\",\"SEQ\":\"1\",\"ITEM\":\"8867-4\",\"ITEMLAB\":\"Heart Rate\",\"RESULT\":\"80\",\"UNIT\":\"Beats/min\",\"FLAG\":null,\"CLI_INFO\":null,\"OPID\":\"150710\"}],\"sMSG\":null}"
//what should i do here?

如何拆分字符串并将其存储到 SQL Server 中?

这是 hl7View 类的代码:

public class hl7View
{
  public string sMSG {get;set;}
  public List<dataDB> Datalist {get;set;}
}

database I've created.

我尝试手动插入数据,它工作正常。是否有可能将其拆分,然后在反序列化后将其存储到数据库中?

【问题讨论】:

  • 你打算拆分什么?除非它特别大,否则为什么不直接反序列化整个对象?
  • 你尝试过使用 Json.NEt 吗? newtonsoft.com/json
  • @John 我想拆分从 JSON 对象反序列化的数据,如您所见,我确实反序列化了 json 对象并且得到了一个长字符串数据。我想要的是拆分该数据并将其存储到我创建的数据库中。
  • @DanielW。是的,我用它来反序列化我的对象,我想要的是拆分字符串并将其存储到我的数据库中。
  • 我会将整个字符串提供给 sqlserver 并让它进行“拆分”(解析);工作量少了

标签: c# json sql-server asp.net-mvc split


【解决方案1】:

我认为您应该需要根据您创建的实体框架将dataDB列表对象直接添加到sql db。 使用您已经拥有的 dataDB 列表对象设置 foreach 循环。 dbcontext.tablename.add(item) // item 是 dataDB 的 foreach 循环对象。 类似于下面的代码。 foreach (var mapping in mappings) { mapping.UserId = UserCommitteeMappingIDWiseUserID[mapping.UserCommitteeMappingID]; mapping.ModifiedBy = ModifiedBy; mapping.ModifiedDate = DateTime.Now; context.UserCommitteeMappings.AddObject(mapping); }

【讨论】:

  • 是的!我发现直接把对象存到sql server里面,在sql server里面拆分字符串更容易!
猜你喜欢
  • 2017-06-16
  • 1970-01-01
  • 2019-03-30
  • 1970-01-01
  • 1970-01-01
  • 2021-06-07
  • 1970-01-01
  • 2022-01-15
  • 2019-10-31
相关资源
最近更新 更多