javascript json对象转成数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript json对象转成数组相关的知识,希望对你有一定的参考价值。

json对象:

"data": [[1, 3.0], [2, 3.9], [3, 2.0], [4, 1.2], [5, 1.3], [6, 2.5], [7, 2.0], [8, 3.1], [9, 2.9], [10, 0.9]]

获取json对象
$(document).ready(function ()

function onDataReceived(series)

if (!alreadyFetched[series.label])
alreadyFetched[series.label] = true;
data.push( series);
;

$.ajax(
url: "1.json",
type: "GET",
dataType: "JSON",
success: onDataReceived
);
怎样让得到的数据data等同于

var data= [[1, 3.0], [2, 3.9], [3, 2.0], [4, 1.2], [5, 1.3], [6, 2.5], [7, 2.0], [8, 3.1], [9, 2.9], [10, 0.9]]
获取json文件的源代码:
var data = [];
var alreadyFetched = ;
$(document).ready(function ()

function onDataReceived(series)

if (!alreadyFetched[series.label])
alreadyFetched[series.label] = true;
data.push( series);
;

$.ajax(
url: "2.json",
type: "GET",
dataType: "json",
success: onDataReceived
);
);

我平时是这样把json转换成数组循环处理的:

var dataArray=eval(jsonStr);
for(var i in dataArray)

    //TODO

有什么问题你都可以追问我,没问题,望采纳,谢谢!

追问

谢谢,补充了问题,帮忙再看下

追答

你可以把ajax请求的数据类型修改一下啊:

dataType: "JSON",

这个改成返回字符串:

dataType: "TXT",

然后在需要使用的地方eval(returnData);就可以了!

追问

能不能详细点?
用后面那个json对象,我需要达到的效果var data= [[1, 3.0], [2, 3.9], [3, 2.0], [4, 1.2], [5, 1.3], [6, 2.5], [7, 2.0], [8, 3.1], [9, 2.9], [10, 0.9]]

追答

你把你的ajax代码:

$.ajax(

url: "1.json",

type: "GET",

dataType: "JSON",

success: onDataReceived

);

修改为:

$.ajax(

url: "1.json",

type: "GET",

dataType: "text",

success: onDataReceived

);

 这样它返回的就直接是字符串了,不是json,但是字符串的格式还是json样式!

追问

那需要的数组怎得到

追答

试试这样:

var dataArray=eval(dataStr);
for(var i in dataArray)

   //TODO
追问

不行啊大哥!你能试下了贴个完整代码不?

追答

关键是你这不是一时零零散散的么?你把你的弄上了我看看

追问

源代码贴到了问题里

追答$.ajax(
url: "2.json",
        type: "GET",
dataType: "json",
success: function(result)  
            var dataArray=eval(result);
            for(var i in dataArray)
            
                //TODO
             
        
);
参考技术A var Data = eval(' "data": [[1, 3.0], [2, 3.9], [3, 2.0], [4, 1.2], [5, 1.3], [6, 2.5], [7, 2.0], [8, 3.1], [9, 2.9], [10, 0.9]]').data;

用C#语言将json格式数据转成json对象

出现好多问题

该怎么去处理,急!!1

把你的json字符串中的所有的 "  替换为  ""


 比如我要在c#中声明一个字符串

 
  "a":"1"

写法有两种

1

string json="\\r\\n\\"a\\":\\"1\\"\\r\\n”; //因为字符串需要用"" 来定义 所以其中的"要用\\"来转义,而换行则是 \\r\\n

2

string json=@" 
  ""a"":""1""
";
//使用@ 方式定义字符串,这种方式关闭了 \\x 这种转义序列, 所以其中的" 要用另外一个"来转义  于是就变成了 ""追问

这个应该怎么去解决呢,代码和上面的一样,这样我就把json格式的数据转化为对象了吗,可以用面向对象的方式去引用它吗,例如"录取情况.全日制学生.男生"这样会出现836吗

参考技术A 如果字符串要换行的话,要在末尾加结束的引号,然后接加号,如:string str = "s" +
"t" +
"r";追问

http://zhidao.baidu.com/question/442942607.html
那里怎么看着没出问题

追答

所以如果你想定义Json结构的数据的话,最好还是用转义字符,或者把除了首尾双引号的其余双引号换为单引号

当然,还是要用加号将字符串连接起来

参考技术B http://www.cnblogs.com/txw1958/archive/2012/08/01/csharp-json.html追问

这个看过,只是我已经排好了json格式的数据,怎么把它序列化为对象,用C#

追答

你先建一个可序列号的对象需要和你的json格式数据结构一样的。
再用这个2个方法操作 Json序列化、反序列器

由于字数限制 我在网上搜了一下你可以到这个网址参考
http://www.cnblogs.com/zhaozhan/archive/2011/01/09/1931340.html

追问

我有将数据按json格式排版了下,可是应该怎么样去建立一个对象呢?对象一定是要用类吗?


"体育协会成员": "全国大学体育协会(NCAA)",
"体育奖学金项目": [

"项目": "棒球",
"性别": "男子",
"选区": "选区2"
]

追答[Serializable]
public class InfoTypeConfig

    public InfoTypeConfig()  
    List<属性类型> infoType = new List<属性类型>();
    public List<属性类型> InfoType
    
        set  属性类型 = value; 
        get  return 属性类型; 
    

[Serializable]
public class 属性类型

    public 属性类型()
     
    
    public InfoType(string 名称, string 值)
    
        this.名称 = type;
        this.值 = explain;
    
    string 名称= string.Empty;
    string  值 = string.Empty;
    public int 名称
    
        set  名称= value; 
        get  return 名称; 
    
    public string 值
    
        set  值 = value; 
        get  return 值; 
    

大概这样 如果还是不懂的,继续问

追问

能就上面我排的那格式帮我弄下吗?还有能加你q吗?本人实习生,好多问题无处解答!万分感谢

814934226求指教

以上是关于javascript json对象转成数组的主要内容,如果未能解决你的问题,请参考以下文章

怎么把json字符串转成数组对象

java对象怎么转成json数组 传到前台页面

用C#语言将json格式数据转成json对象

前端向后端传一个json数组对象

java怎么把数据转成json 数组

js将json数组转成tree对象