2016-03-09 2 views
0

У меня есть JSON строку, какВставьте JSON строку в SQL Server 2008 базы данных

{"identifier":7,"name":"xyz"} 

Здесь идентификатор и имя являются имена столбцов. Я передаю имя таблицы отдельно, которое может меняться вместе с именами столбцов.

Я хочу преобразовать в запрос запроса вставки.

Прямо сейчас, что я делаю:

JavaScriptSerializer jss = new JavaScriptSerializer(); 
var d = jss.Deserialize<dynamic>(format); 

Это делает объект каждого элемента с ключами и значениями, но я не имею ни малейшего представления, как цикл через него.

Пожалуйста, предложите, если я нахожусь на правильном пути или если есть какой-либо другой подход, который я могу использовать.

Примечание: структура json будет такой же, но строка может быть длиннее или короче, чем упомянутый выше образец.

+0

Какова связь с базой данных? –

+0

Здесь * идентификатор * и * имя * - это имена столбцов. Я передаю имя таблицы отдельно, которое может меняться вместе с именами столбцов. –

ответ

0

Вы можете разобрать json ниже примера. После того, как у вас есть значения, проанализированные в вашем объекте, вы можете использовать объект непосредственно в ORM или можете создавать запрос из строкового редактора.

работает образец на https://dotnetfiddle.net/trckde

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; } 


} 
+0

Thanx ... но дело в том, что строка json и DBModel будут динамическими. Поиск чего-то более общего –

0

Для общего использования раствора JObject, вы можете пройти пару ключей значение тогда. обновление

Fiddle: https://dotnetfiddle.net/trckde

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(); 
Смежные вопросы