将JSON字符串数组转变成对象集合有以下三个步骤:
- 解析JSON字符串数组成JSON对象
- 遍历JSON对象,将每个JSON对象转化成目标对象
- 将转化好的目标对象添加到集合中
下面用JavaScript语言提供两种实现的示例:
示例 1
如下所示的JSON字符串数组:
var jsonStrArray = [
'{"name":"Tom","age":18}',
'{"name":"Alex","age":20}',
'{"name":"John","age":22}'
]
我们要将上述JSON字符串数组转化为一个对象集合,集合中每一个对象都包含两个属性– name和age。
我们可以通过JSON.parse()方法将JSON字符串解析成JSON对象,然后再通过for循环遍历JSON对象,将JSON对象转化成一个目标对象,并添加到目标集合中,示例如下:
let targetCollection = [];
for (var i in jsonStrArray) {
let tempObject = JSON.parse(jsonStrArray[i]);
let targetObject = {
"name": tempObject.name,
"age": tempObject.age
};
targetCollection.push(targetObject);
}
这里新建了一个集合targetCollection,通过遍历jsonStrArray数组,将每个JSON字符串解析成JSON对象,并将目标对象加入最新的集合targetCollection中。最终targetCollection中存储的就是转化好的对象集合。
示例 2
我们同样有另一种处理这个JSON字符串数组的方法,即使用Array.map()方法来处理:
let targetCollection = jsonStrArray.map(function (str) {
let obj = JSON.parse(str);
return {"name": obj.name, "age": obj.age};
});
在这段代码中,我们调用了jsonStrArray的map()方法。该方法返回一个新的数组,其中的每个元素都是从原始数组中通过给定方法转换的值。map()方法的回调函数表达式返回的是解析json字符串的目标对象。
通过实际操作,我们可以看出,第二个示例代码更为简洁,可读性更好。但如果我们想要继续操作我们存储对象的集合,则在第二个示例中可能会遇到困难。需要根据不同的实际情况来选择不同的方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何将JSON字符串数组转对象集合 - Python技术站