C# 将json字符串插入SQL Server 2008数据库
我有一个json字符串,比如C# 将json字符串插入SQL Server 2008数据库,c#,.net,json,sql-server-2008,C#,.net,Json,Sql Server 2008,我有一个json字符串,比如 {"identifier":7,"name":"xyz"} 这里的标识符和名称是列名。我单独传递表名,表名随列名而变化 我想将转换为insert查询语句 现在我正在做的是: JavaScriptSerializer jss = new JavaScriptSerializer(); var d = jss.Deserialize<dynamic>(format); JavaScriptSerializer jss=new JavaScriptSeri
{"identifier":7,"name":"xyz"}
这里的标识符和名称是列名。我单独传递表名,表名随列名而变化
我想将转换为insert查询语句
现在我正在做的是:
JavaScriptSerializer jss = new JavaScriptSerializer();
var d = jss.Deserialize<dynamic>(format);
JavaScriptSerializer jss=new JavaScriptSerializer();
var d=jss.Deserialize(格式);
它使每个元素的对象具有键和值,但我不知道如何循环
请建议我是否在正确的轨道上,或者是否有任何其他方法可以使用
注意:json结构将是相同的,但字符串可以比我上面提到的示例长或短。您可以通过下面的示例解析json。一旦在对象中解析了值,就可以将对象直接用于ORM或从stringbuilder创建查询 工作样本
使用系统;
使用Newtonsoft.Json;
公共课程
{
公共静态void Main()
{
var str=“{\'identifier\':7,\'name\':\'xyzstr\'”;
DBModel DBModel=JsonConvert.DeserializeObject(str);
Console.WriteLine(dbModel.identifier);
Console.WriteLine(dbModel.name);
}
}
公共类数据库模型
{
公共int标识符{get;set;}
公共字符串名称{get;set;}
}
对于使用JObject的通用解决方案,您可以遍历键值对
小提琴更新:
var str=“{\'identifier\':7,\'name\':\'xyzstr\'”;
var jsonObject=JsonConvert.DeserializeObject(str);
foreach(jsonObject中的var项)
{
Console.WriteLine(item.Key+“”+item.Value.ToString());
}
Console.ReadLine();
与数据库的关系是什么?这里的标识符和名称是列名。我分别传递表名,表名随列名而变化。Thanx…但问题是json字符串和DBModel将是动态的。寻找更普通的东西
using System;
using Newtonsoft.Json;
public class Program
{
public static void Main()
{
var str ="{\"identifier\":7,\"name\":\"xyzstr\"}";
DBModel dbModel = JsonConvert.DeserializeObject<DBModel>(str);
Console.WriteLine(dbModel.identifier);
Console.WriteLine(dbModel.name);
}
}
public class DBModel
{
public int identifier { get; set; }
public string name { get; set; }
}
var str = "{\"identifier\":7,\"name\":\"xyzstr\"}";
var jsonObject = JsonConvert.DeserializeObject<JObject>(str);
foreach (var item in jsonObject)
{
Console.WriteLine(item.Key + " " + item.Value.ToString());
}
Console.ReadLine();