这是我得到的JSON
回复,我无法解析,请帮帮我。
{
"features": [{
"attributes": {
"OBJECTID": 1,
"schcd": "29030300431",
"schnm": "UNAIDED GENITALIA LIPS DALMATIA RS"
},
"geometry": {
"x": 8449476.63052563,
"y": 1845072.4204768054
}
}]
}
答案 0 :(得分:0)
这是一个可以帮助您入门的答案Deserialize JSON with C#
我更喜欢NewtonSoft的解决方案:Newtonsoft JSON Deserialize
您可以使用他们的JsonConverter来简单地序列化/反序列化对象
这是一个简单的例子: 首先需要与JSON结构匹配的类:
<?php
$str="01;Tommy;32;Coder&&02;Annie;20;Seller";
$array=explode("&&",$str);
foreach($array as $key=>$val){
$array[$key]=explode(";",$val);
}
print_r($array);
然后你就像这样使用JsonConverter(JSON.Net):
public class MyCoolClass
{
public IEnumerable<Feature> features {get; set;}
}
public class Feature
{
public Attributes Attributes {get; set;}
public Geometry Geometry {get; set;}
}
public class Attributes
{
public int ObjectId {get; set;}
public string Schcd {get; set;}
public string Schnm {get; set;}
}
public class Geometry
{
public double X {get; set;}
public double Y {get; set;}
}
答案 1 :(得分:0)
要解析JSON,您很可能需要像JSON.Net这样的外部库或类似的东西。
然后,您需要创建一个包含与JSON String匹配的属性的类(包装器),并将该字符串反序列化为该对象。
当您创建要将JSON字符串反序列化的包装类时,请注意以与JSON字符串中命名相同的方式命名属性。
示例:
public class MyObject {
public List <Feature> Features {get;set;}
}
public class Feature {
public MyAttributes Attributes {get;set; }
public Geometries Geometries {get;set; }
}
public class MyAttributes {
public int ObjectID {get;set;}
public string Schcd {get;set;}
public string Schnm {get;set;}
}
public class Geometries {
public double X {get;set;}
public double Y {get;set;}
}
然后只需调用JSON库的反序列化函数:
var myObject = JsonConvert.DeserializeObject<MyObject>(jsonString);
要访问像对象ID这样的属性,您只需调用:
myObject.Features[0].Attributes.ObjectId;
答案 2 :(得分:0)
如果您使用dynamic
即可,您可以这样做
var json = "{ \"features\" : [ { \"attributes\": { \"OBJECTID\": 1, \"schcd\": \"29030300431\", \"schnm\": \"UNAIDED GENITALIA LIPS DALMATIA RS\" }, \"geometry\": { \"x\": 8449476.63052563, \"y\": 1845072.4204768054 } } ] }";
dynamic obj = JsonConvert.DeserializeObject(json);
var objectId = obj.features[0].attributes.OBJECTID;
它使用Newtonsoft.Json,可以与here中的Nuget一起安装。
Install-Package Newtonsoft.Json
请注意,这不会进行任何空检查,只是假设它是features
中您想要的第一个对象。但它很简单,并且不需要您创建任何模型。