C# 如何创建这个Json?

C# 如何创建这个Json?,c#,json,C#,Json,假设我有这个硬编码代码 $("#test").gmap3({ map:{ options:{ center:{lat:24.886436490787712,lng:-70.2685546875}, zoom:3, mapTypeId: google.maps.MapTypeId.TERRAIN } }, polygon: { values: [ { options:{ stro

假设我有这个硬编码代码

$("#test").gmap3({
  map:{
    options:{
      center:{lat:24.886436490787712,lng:-70.2685546875},
      zoom:3,
      mapTypeId: google.maps.MapTypeId.TERRAIN
    }
  },
  polygon: {
    values: [
      {
        options:{
          strokeColor: "#FF0000",
          strokeOpacity: 0.8,
          strokeWeight: 2,
          fillColor: "#FF0000",
          fillOpacity: 0.35,
          paths:[
            [25.774252, -80.190262],
            [18.466465, -66.118292],
            [32.321384, -64.75737],
            [25.774252, -80.190262]
          ]
        }
      },
      {
        options:{
          strokeColor: "#FF0000",
          strokeOpacity: 0.8,
          strokeWeight: 2,
          fillColor: "#FF0000",
          fillOpacity: 0.35,
          paths:[
            [37.33522435930639,-97.7783203125],
            [37.33522435930639,-85.8251953125],
            [29.420460341013133,-86.3525390625],
            [23.120153621695614,-97.0751953125]
          ]
        }
      },
      {
        options:{
          strokeColor: "#FF0000",
          strokeOpacity: 0.8,
          strokeWeight: 2,
          fillColor: "#FF0000",
          fillOpacity: 0.35,
          paths:[
            [21.002471054356725,-52.4267578125],
            [28.34306490482549,-47.1533203125],
            [17.35063837604883,-35.7275390625],
            [11.049038346537106,-49.0869140625],
            [8.276727101164045,-61.2158203125]
          ]
        }
      },
    ],
    onces:{
      click: function(polygon){
        polygon.setOptions({
            fillColor: "#FFAF9F",
            strokeColor: "#FF512F"
        });
      }
    }
  }
});
我想知道如何从C代码创建“值”部分

到目前为止,我有这个

public class Options
{
    public string strokeColor { get; set; }
    public string strokeWeight { get; set; }
    public string fillColor { get; set; }
    public string fillOpacity { get; set; }
    public string strokeOpacity { get; set; }
}

我猜这可能是一个集合(或数组),但不确定路径。我就是那样。它必须是数组中的某种数组,但不能有任何属性名

这可能就是您想要的:

public class Options
{
    public string strokeColor { get; set; }
    public double strokeOpacity { get; set; }
    public int strokeWeight { get; set; }
    public string fillColor { get; set; }
    public double fillOpacity { get; set; }
    public List<List<double>> paths { get; set; }
}

public class RootObject
{
    public Options options { get; set; }
}
公共类选项
{
公共字符串strokeColor{get;set;}
公共双冲程不透明度{get;set;}
公共int strokewweight{get;set;}
公共字符串fillColor{get;set;}
公共双精度{get;set;}
公共列表路径{get;set;}
}
公共类根对象
{
公共选项选项{get;set;}
}
顺便说一下:我通过将JSON复制粘贴到这个小工具中创建了这些类:


显然,您需要将其反序列化为JSON,但我想您知道如何做到这一点。

这可能就是您想要的:

public class Options
{
    public string strokeColor { get; set; }
    public double strokeOpacity { get; set; }
    public int strokeWeight { get; set; }
    public string fillColor { get; set; }
    public double fillOpacity { get; set; }
    public List<List<double>> paths { get; set; }
}

public class RootObject
{
    public Options options { get; set; }
}
公共类选项
{
公共字符串strokeColor{get;set;}
公共双冲程不透明度{get;set;}
公共int strokewweight{get;set;}
公共字符串fillColor{get;set;}
公共双精度{get;set;}
公共列表路径{get;set;}
}
公共类根对象
{
公共选项选项{get;set;}
}
顺便说一下:我通过将JSON复制粘贴到这个小工具中创建了这些类:


显然,您需要将其反序列化为JSON,但我想您知道如何做到这一点。

Ya,刚刚找到该工具并试用过。如果您使用的是.Net 4.5和VS 2012或更高版本,您也可以使用“将JSON粘贴为类”很酷,我也会检查一下。有没有办法不必创建RootObject类?如果您希望JSON中的options属性,就没有办法了。如果你不创建它,你只会得到内部对象,嗯,不管怎样,仍然缺少一些东西,因为它只提供了一个选项,我需要很多。我尝试将RootObject中的选项更改为collection,但这似乎不是正确的格式。是的,刚刚找到了该工具并进行了试用。如果您使用的是.Net 4.5和VS 2012或更高版本,您也可以使用“将JSON粘贴为类”很酷,我也会检查一下。有没有办法不必创建RootObject类?如果您希望JSON中的options属性,就没有办法了。如果你不创建它,你只会得到内部对象,嗯,不管怎样,仍然缺少一些东西,因为它只提供了一个选项,我需要很多。我尝试将RootObject中的选项更改为collection,但这似乎不是正确的格式。