2016-11-05 3 views
-1

Этот вопрос связан с форматом данных Json. У меня есть словарь с парой значений ключа. ConfigA 1200 ConfigB 1500 ConfigC 800 ConfigD 2 .I нужно преобразовать все словарные значения в 1 формате JSON [{ "ConfigA": "1200", "ConfigB": "1500", "ConfigC":» 800 "," ConfigD ":" 2 "}] Может ли кто-нибудь помочь мне, как это сделать?C# Dictionary to Json Format

+0

использование новыйtonsoft. http://www.newtonsoft.com/json/help/html/DeserializeDictionary.htm –

+0

Возможный дубликат [Как преобразовать словарь в строку JSON в C#?] (http://stackoverflow.com/questions/5597349/как-делать-я-новообращенный-а-словарь к-а-JSon-строка-в-с) –

ответ

0

Добавить System.Web.Extensions.dll и попробуйте следующий код,

using System; 
using System.Collections.Generic; 
using System.Web.Script.Serialization; 

public class Program 
{ 
    public static void Main() 
    { 
     var dictionary = new Dictionary<string, int> { 
      {"ConfigA", 1200}, 
      {"ConfigB", 1500}, 
      {"ConfigC", 800}, 
      {"ConfigD", 2} 
     }; 

     var serializer = new JavaScriptSerializer(); 
     Console.WriteLine(serializer.Serialize(dictionary)); 
    } 
} 
0

Возможно так же, как this question

Просто из интереса, вы знаете, что вы создаете массив, содержащий один объект с 4 параметрами? Предполагая, что JavaScript станет объектом этой структуры, вы будете ссылаться на данные [0] .config *. Вы можете отказаться от квадратных скобок в начале и в конце, чтобы облегчить понимание кода JIS получателя. Пример до и после ниже.

// using array 
var data = jQuery.parseJSON('[{"ConfigA":"1200","ConfigB":"1500","ConfigC":"800","ConfigD":"2"}]') 

var A = data[0].configA 
alert('Value of A=' + A) // Will show 1200 

var B = data[0].configB 
alert('Value of B=' + B) // Will show 1500 

// without array 
var dataV2 = jQuery.parseJSON('{"ConfigA":"1200","ConfigB":"1500","ConfigC":"800","ConfigD":"2"}') 

var A2 = data.configA 
alert('Value of A2=' + A2) // Will show 1200 

var B2 = data.configB 
alert('Value of B2=' + B2) // Will show 1500