首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Json字符串获取特定数据

从Json字符串获取特定数据
EN

Stack Overflow用户
提问于 2016-06-09 05:33:33
回答 4查看 2.4K关注 0票数 1

我有JSON数据。

代码语言:javascript
复制
{"title":"",
"query":"pakistan",
"for":"daily",
"method":3,
"prayer_method_name":"University Of Islamic Sciences,
 Karachi (Hanafi)",
"daylight":"0",
"timezone":"5",
"map_image":"http:\/\/maps.google.com\/maps\/api\/staticmap?center=30.375321,69.345116&sensor=false&zoom=13&size=300x300",
"sealevel":"1376",
"today_weather":{"pressure":null,"temperature":null},
"link":"http:\/\/muslimsalat.com\/pakistan",
"qibla_direction":"258.33",
"latitude":"30.375321",
"longitude":"69.345116",
"address":"","city":"",
"state":"",
"postal_code":"",
"country":"Pakistan",
"country_code":"PK",
"items":[{"date_for":"2016-6-9","fajr":"3:43 am","shurooq":"5:09 am","dhuhr":"12:21 pm","asr":"5:15 pm","maghrib":"7:34 pm","isha":"9:00 pm"}],
"status_valid":1,
"status_code":1,
"status_description":"Success."}

例如,我只需要来自JSON的具体数据,

“fajr”:“凌晨3:43”,"shurooq":"5:09 am","dhuhr":"12:21 pm","asr":"5:15 pm",“magh肋骨”:“7:34 pm","isha":"9:00”

我怎样才能做到这一点?

EN

回答 4

Stack Overflow用户

发布于 2016-06-09 05:38:52

您可以使用JSON序列化程序(如http://www.newtonsoft.com/json )。

那么您将有以下模型:

代码语言:javascript
复制
public class Item
{
    public string date_for { get; set; }
    public string fajr { get; set; }
    public string shurooq { get; set; }
    public string dhuhr { get; set; }
    public string asr { get; set; }
    public string maghrib { get; set; }
    public string isha { get; set; }
}

public class ItemContainer
{
    public List<Item> Items { get; set; }
}

使用json.net,您可以检索值

代码语言:javascript
复制
var data = JsonConvert.DeserializeObject<ItemContainer>(your json);
if (data.Items.Count > 0)
{
   var fajr = data.Items[0].fajr;
   var dhuhr = data.Items[0].dhuhr; 
   ...
}
票数 1
EN

Stack Overflow用户

发布于 2016-06-09 05:38:19

您必须将JSON解析为一个对象。为此,您可以使用JSON.NET

下面是如何将JSON字符串解析为动态对象的示例:

代码语言:javascript
复制
string source = "YOUR JSON";
dynamic data = JObject.Parse(source);
Console.WriteLine(data.fajr);
Console.WriteLine(data.shurooq);
Console.WriteLine(data.dhuhr);
etc...
票数 0
EN

Stack Overflow用户

发布于 2016-06-09 05:39:13

假设您的json存储在MyData变量上:

因此,取值如下:

  • MyData.items =>返回对象
  • MyData.items.fajr =>返回字符串
  • MyData.items.shurooq =>返回字符串
  • MyData.items.dhuhr =>返回字符串
  • MyData.items.asr =>返回字符串
  • MyData.items.maghrib =>返回字符串
  • MyData.items.isha =>返回字符串

使用newtonsoft.json:

代码语言:javascript
复制
var shalaSchedule = JsonConvert.DeserializeObject<Dictionary<string, object>>(MyData);

这样您就可以从shalaSchedule["items"][0]["magrib"].toString()读取数据;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37717579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档