C# json提取多层嵌套到数组

Newtonsoft.Json.dll下载这个dll 

引用using Newtonsoft.Json;   using Newtonsoft.Json.Linq;这两个命名空间


string jsonText = "{'name':'test','phone':'18888888888','image':[{'name':'img1','data':'data1'},{'name':'img2','data':'data2'},{'name':'img3','data':'data3'}]}";

  JObject jo = (JObject)JsonConvert.DeserializeObject(jsonText);
     
  JArray jar = JArray.Parse(jo[ " image "].ToString());
  MessageBox.Show(zone);
  MessageBox.Show(zone_en);
  
  {    

         JObject j = JObject.Parse(jar[i].ToString());

        MessageBox.Show(j[ " name "].ToString());
        MessageBox.Show(j[ " data "].ToString());
  }

——————————————————————————————————————————

参考上面的用法些的

using System;
using System.Net;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Web;
using System.Web.Script.Serialization;
using WindowsFormsApplication1;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;


namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        private void button1_Click(object sender, EventArgs e)
        {
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://v.juhe.cn/weather/index?format=2&cityname=%E8%8B%8F%E5%B7%9E&key=7258215543c0086d97382f0e361a743a");
            //http://way.weatherdt.com//tianyi/forecast_24h_7d?area=101010100&type=forecast&key=fd3fcf1ea8c94801a3fb909fe06b113e&appkey=acf07a95009c698dc6c5fe1f8b26fb1b
            //http://www.weather.com.cn/data/sk/101010100.html
            request.Timeout = 5000;
            request.Method = "GET";
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            StreamReader sr = new StreamReader(response.GetResponseStream());
            string jsonstr = sr.ReadLine();
            JavaScriptSerializer j = new JavaScriptSerializer();
            weather weather = new weather();
            Root root = new Root();
            root = j.Deserialize<Root>(jsonstr);


           // string jsonText = "{'name':'test','phone':'18888888888','image':[{'name':'img1','data':'data1'},{'name':'img2','data':'data2'},{'name':'img3','data':'data3'}]}";
            JObject jo = (JObject)JsonConvert.DeserializeObject(jsonstr);
            string zone = jo["resultcode"].ToString();
            string zone_en = jo["reason"].ToString();
            string result_en = jo["result"].ToString();
            JObject result = (JObject)JsonConvert.DeserializeObject(result_en);
            string sk = result["sk"].ToString();
            string today = result["today"].ToString();
            string future = result["future"].ToString(); 

            JArray jar = JArray.Parse(result["future"].ToString());
            //MessageBox.Show(zone);
            //MessageBox.Show(zone_en);
            for (var i = 0; i < jar.Count; i++)
            {
                JObject jb = JObject.Parse(jar[i].ToString());
                //MessageBox.Show(jb["name"].ToString());
                //MessageBox.Show(jb["data"].ToString());
                string sqlstr = zone + jb["weather"].ToString()+jb["temperature"].ToString();
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值