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,但这似乎不是正确的格式。