Javascript 在单独的数组中返回JSON名称和值

Javascript 在单独的数组中返回JSON名称和值,javascript,arrays,json,Javascript,Arrays,Json,如果我有以下JSON对象 { "ID": 100, "Name": "Sharon", "Classes":{ "Mathematics": 4, "English": 85, "Chemistry": 70, "Physics": 4, "Biology": 8,

如果我有以下JSON对象

{ 
    "ID": 100, 
    "Name": "Sharon", 
    "Classes":{
                "Mathematics": 4, 
                "English": 85, 
                "Chemistry": 70, 
                "Physics": 4, 
                "Biology": 8, 
                "FMathematics": 94 
              }
  }
如何在单独的数组中返回类名及其各自的值


这里是plunker,如果使用jquery,可以执行以下操作:

var keys = []
var values = []
$.each(yourJSONObject.Classes, function(k, v){keys.push(k); values.push(v)})

然后你可以把键和值分开

这将返回一个包含所有数组的对象

var obj = JSON.Parse("Your json string");
var arrays = [];

for(var className in  obj.Classes){
    var value = obj.Classes[className];//Value of className
    var temp = {};
    temp[className] = value;
    arrays.push(temp);
}

您可以使用本机js代码执行此操作,无需任何技巧:

var keys = [], values = [];
for (var key in json){ keys.push(key); values.push(json[key]); }

对象名是什么?看看你没有一个“JSON对象”。您有一个Javascript对象(文本)——或者您有一个“JSON字符串”。在您展示的示例中,它是前者。如果您真的想使用JSON,就必须使用字符串函数。因为任何JSON都是字符串。但是,您可以将JSON表示转换为使用任何语言(这里是Javascript)的对象。第一:编程语言。二(JSON):用于数据交换和存储的字符串格式,独立于编程语言。无需使用
JQuery
为此,您可以在原生js中使用常规for循环…我尝试了您的答案,取得了一些成功课程数组还可以,我似乎无法获得值数组中每个类的分数。看看@AnthonyAkpan很乐意帮忙^_^