【问题标题】:Serialise JSON color hex without quotes反序列化不带引号的 JSON 颜色十六进制
【发布时间】:2014-03-10 07:48:30
【问题描述】:

所以我将一些值发送到 javascript 数组。目前它是一个名为 data 的数组,它有两个元素,值和颜色,例如:

var data = [{value:226,color:"#FFFFF"},{value:257,color:"#FFFFF"}];

问题是颜色应该是 color: #FFFFF 没有 &quot 周围。 C#如下:

[JsonObject(MemberSerialization.OptIn)]
public class StatsValues
{
    [JsonProperty]
    public int value { get; set; }
    [JsonProperty]
    public string color { get; set; }
}

var values = new List<StudentBrandsApp.Models.StatsValues>();
foreach (DataRow dr in statsDataTable.Rows)
{
    values.Add(new StudentBrandsApp.Models.StatsValues() { value = Convert.ToInt32(dr.ItemArray[1].ToString()), color = "#FFFFF" });
}

        var serializer = new JsonSerializer();
        var stringWriter = new StringWriter();
        var writer = new JsonTextWriter(stringWriter);
        writer.QuoteName = false;
        serializer.Serialize(writer, values);
        writer.Close();
        var json = stringWriter.ToString();
        ViewData["json"] = json; 

我如何序列化它以便颜色排除引号并仅返回哈希值?

【问题讨论】:

  • 你是如何字符串化...?看起来你必须使用 HttpUtility.HtmlDecode 来翻译实体......

标签: c# javascript json asp.net-mvc-4 serialization


【解决方案1】:

请尝试将您的 json 字符串转换为以下格式:

{
  "array": [
  { 
     "value":226,
     "color":"#FFFFF"     
     },
   { 
     "value":226,
     "color":"#FFFFF"     
     }
  ]
}

var data = [{"value":226,"color":"#FFFFF"},{"value":257,"color":"#FFFFF"}];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 2016-04-26
    • 2017-07-13
    • 1970-01-01
    • 1970-01-01
    • 2014-07-03
    • 2019-06-16
    相关资源
    最近更新 更多