日期:2014-05-16  浏览次数:20394 次

js获取返回的数据
         Response.Write 一个 json   或者   字符串   或者 List<T> 
         怎么在js 里获取 其中的指定值   

比如返回一个   json 是    [  {id:1,name: 'abc',code:'haha'},
                                               {id:2,name: 'abc1',code:'haha1'},
                                               {id:3,name: 'abc1',code:'haha1'}  ]
     
   怎么获取  3 ?       或者判断  if( id = 3)  

如果是返回一个 list<T> 怎么获取它的ID值   因为我要作 判断  
 怎么做简单?
 
------解决方案--------------------
json的话,你要在前台js里面使用eval函数 var json =eval('(' + 传回来的数据 + ')')
然后for(var i;i<json.length;i++){
在for循环了再转 var data =eval('(' + json[i] + ')')
判断 data.id==3
如果成立就取那个data的数据。

list<T>的话,没试过,但肯定要在js用 ArrayList装。

字符串就在拼接的时候用一个字符隔开"
------解决方案--------------------
"也好","也罢。再到前台js,var arr=传回来的数据.split("
------解决方案--------------------
"或者是","之类的)。然后再分析数据arr
------解决方案--------------------
用Newtonsoft.Json.dll,很简单,if 和 list<T>你自己写下


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Converters;

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

        private void button1_Click(object sender, EventArgs e)
        {
            string str = "{detail:[  {id:1,name: 'abc',code:'haha'},{id:2,name: 'abc1',code:'haha1'},{id:3,name: 'abc1',code:'haha1'}  ]}";
            JObject obj = JObject.Parse(str);
            //Console.WriteLine(obj["detail"].ToString());

            JArray json = (JArray)obj["detail"];
            for (int j&nbs