我的JSON如下:
{"t":"1339886","a":true,"data":[],"Type":[['Ants','Biz','Tro']]}
Run Code Online (Sandbox Code Playgroud)
我找到了针对C#的Newtonsoft JSON.NET反序列化库.我尝试使用它如下:
object JsonDe = JsonConvert.DeserializeObject(Json);
Run Code Online (Sandbox Code Playgroud)
如何访问该JsonDe对象以获取所有"类型"数据?我尝试了一个循环,但它没有工作,因为该对象没有枚举器.
我有一个JSON请求,其结构如下:
"formats": {
"flash_embed": "http://a3.vikiassets.com/assets/vikiplayer-922746a667cfd38137a7e45df6ba1b95.swf?auto_play=true&language_codes=en&media_id=74965&partner=16&source=api_v3",
"m3u8": "http://wpc.354a.edgecastcdn.net/00354A/videos/encoded/74965/ios.m3u8",
"res-150p": "http://wpc.354a.edgecastcdn.net/00354A/videos/encoded/74965_mp4cell_150.mp4",
"res-240p": "http://wpc.354a.edgecastcdn.net/00354A/videos/encoded/74965_240p.mp4",
"res-270p": "http://wpc.354a.edgecastcdn.net/00354A/videos/encoded/74965_270p.mp4",
"res-360p": "http://wpc.354a.edgecastcdn.net/00354A/videos/encoded/74965_360p.mp4",
"res-480p": "http://wpc.354a.edgecastcdn.net/00354A/videos/encoded/74965_480p.mp4",
"res-720p": "http://wpc.354a.edgecastcdn.net/00354A/videos/encoded/74965_720p.mp4"
}
}
Run Code Online (Sandbox Code Playgroud)
现在res-150p,在C#中说出无效名称,如果我给它另一个名字,那么在取消手术时我没有得到任何值,在res-150p内是null.
编辑:
[Serializable]
MoviesListRootObject是包含Response然后Response包含的根对象Formats
public class MoviesListRootObject
{
public int count { get; set; }
public Pagination pagination { get; set; }
public List<Response> response { get; set; }
}
[Serializable]
public class Response
{
public int id { get; set; }
public int channel_id { get; set; }
public string title { …Run Code Online (Sandbox Code Playgroud) 我试图将json数据反序列化为模型类,但我失败了.这是我做的:
public CountryModel GetCountries() {
using (WebClient client = new WebClient()) {
var result = client.DownloadString("http://api.worldbank.org/incomeLevels/LIC/countries?format=json");
var output = JsonConvert.DeserializeObject<List<CountryModel>>(result);
return output.First();
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我的模型的样子:
public class CountryModel
{
public int Page { get; set; }
public int Pages { get; set; }
public int Per_Page { get; set; }
public int Total { get; set; }
public List<Country> Countries { get; set; }
}
public class Country
{
public int Id { get; set; }
public string Iso2Code { …Run Code Online (Sandbox Code Playgroud) 我在Visual Studio 2010上使用Windows Phone 7.1应用程序.我尝试这样做:
dynamic dyn = JsonConvert.DeserializeObject(json);
MessageBox.Show(dyn.somevar);
Run Code Online (Sandbox Code Playgroud)
我有这个错误:
无法找到编译动态表达式所需的一种或多种类型.您是否缺少对Microsoft.CSharp.dll和System.Core.dll的引用?
我试图添加,C:\Program Files (x86)\Microsoft SDKs\Silverlight\v4.0\Libraries\Client\Microsof.CSharp.dll但它不起作用.
我现在能做什么?
我正在尝试POST,然后将JSON响应读入字符串.
我相信我的问题是我需要将自己的对象传递给DataContractJsonSerializer,但我想知道是否有某种方法可以将响应转换为关联数组或某种键/值格式.
我的JSON格式如下:{"license":"AAAA-AAAA-AAAA-AAAA"},我的代码如下:
using (Stream response = HttpCommands.GetResponseStream(URL, FormatRegistrationPost(name, email)))
{
string output = new StreamReader(response).ReadToEnd();
response.Close();
DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(string));
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(output));
string results = json.ReadObject(ms) as string;
licenseKey = (string) results.GetType().GetProperty("license").GetValue(results, null);
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在尝试将 json 反序列化为 c# 中的对象。我希望能够做的是传递任何对象获取它的类型并使用 JSON.Net 库将 json 反序列化为该特定对象。这是代码行。
Object someObject1 = someObject;
string result = await content.ReadAsStringAsync();
return JsonConvert.DeserializeObject<someObject1.GetType()>(result);
Run Code Online (Sandbox Code Playgroud)
最后一行抛出异常
operator '<' cannot be applied to operands of type 'method group'
Run Code Online (Sandbox Code Playgroud)
如何在没有 c# 抱怨的情况下获取 <> 中的数据类型。我该怎么做才能使此代码正常工作?我缺少什么知识?
这是我的JSON数据
{
"logInResult": [
{
"Name": "yogesh singh",
"cityName": "",
"img": "DefaultImage/D_Vp_Men.png",
"usrId": "374"
}
]
}
Run Code Online (Sandbox Code Playgroud)
这是我的代码
public async Task<ActionResult> Index()
{
HttpClient webClient1 = new HttpClient();
Uri uri = new Uri("http://m.vinipost.com/service/userprofile.svc/logIn?loginId=thyschauhan@gmail.com&pass=12345");
HttpResponseMessage response1;
response1 = await webClient1.GetAsync(uri);
var jsonString = await response1.Content.ReadAsStringAsync();
var _Data = JsonConvert.DeserializeObject<List<JClass>>(jsonString);
foreach (JClass Student in _Data)
{
ViewBag.Message += Student.Name + ", ";
}
dynamic obj = JsonConvert.DeserializeObject(jsonString);
ViewBag.Message += obj.data.Name;
return View();
}
Run Code Online (Sandbox Code Playgroud)
而错误是
无法将当前JSON对象(例如{"name":"value"})反序列化为类型'System.Collections.Generic.List`1 [MvcSumit1.Models.JClass]',因为该类型需要JSON数组(例如[1, 2,3])正确反序列化.要修复此错误,请将JSON更改为JSON数组(例如[1,2,3])或更改反序列化类型,使其成为普通的.NET类型(例如,不是像整数这样的基本类型,而不是类似的集合类型可以从JSON对象反序列化的数组或List.JsonObjectAttribute也可以添加到类型中以强制它从JSON对象反序列化.路径'logInResult',第1行,第15位.
我如何使用 Typeform 的 asp.net Web 表单制作 webhook 接收器,以及每当有人提交我的表单时我如何获取我的应用程序上的数据。