使用json对象转化为key,value的对象数组

目录
  • json对象转为key,value对象数组
    • 问题引出
    • 解决方式
  • 数组转换成json key-value形式
    • eg1(数组中包含的是数组)
    • eg2(数组中包含的是对象)

json对象转为key,value对象数组

问题引出

在某个从后端获取的表格数据中,有一列是对象格式,不能用于直接展示。

解决方式

不直接展示此列,在操作列加一个按钮,点击之后弹窗展示那一列的数据,形式为key和value的两列表格,key为该对象的各个字段名,value为字段值。这就需要将对象转化为key和value形式的对象数组。

代码

const metaData = {"api-type": "apiparser", "management.port": "8101"}
Object.entries(metaData).map(([key, value]) => ({
	key, value
}))

效果

key,value的对象数组转化为json对象

arr.reduce((acc, curr) => {
  acc[curr.key] = curr.value
  return acc
}, {})

函数式

/**
 * 传入对象得到 key、value 形式的对象数组
 * key、value可以自定义
 * @param {Object} MAP 要处理的对象
 * @param {String} key 对象的key
 * @param {String} value 对象的value
 * @returns 数组
 */
export function mapToJson(MAP, key, value) {
  return Object.keys(MAP).map(item => ({
    [key]: item,
    [value]: MAP[item],
  }))
}

数组转换成json key-value形式

eg1(数组中包含的是数组)

var jsonData = {};
var arr = [[1, 'boy', 'dabing'], [2, 'girl', 'dabing']];
for (var i = 0; i < arr.length; i++) {
    var key = arr[i][1];
    var value = arr[i][2];
    
    jsonData[key] = value;
}
console.log(jsonData['boy'])// 'dabing'

eg2(数组中包含的是对象)

var jsonData = {};
var arr = [ { id: 3, name: 'MAN_MIDDLESCHOOL_STUDENT', value: 'predefine' }, 
            { id: 4, name: 'FEMALE_MIDDLESCHOOL_STUDENT', value: 'predefine' }];
for (var i = 0; i < arr.length; i++) {
    var key = arr[i].name;
    var value = arr[i].value;
    jsonData[key] = value;
}
console.log(jsonData);//{ MAN_MIDDLESCHOOL_STUDENT: 'predefine', FEMALE_MIDDLESCHOOL_STUDENT: 'predefine' }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • JS解析json数据并将json字符串转化为数组的实现方法

    复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <SCRIPT LANGUAGE="JavaScript"> var t="{'firstName': 'cyra', 'lastName': 'ric

  • json对象与数组以及转换成js对象的简单实现方法

    JSON 语法规则 JSON 语法是 JavaScript 对象表示法语法的子集. •数据在名称/值对中 •数据由逗号分隔 •花括号保存对象 •方括号保存数组 JSON 对象 JSON 对象在花括号中书写: 对象可以包含多个名称/值对: { "firstName":"John" , "lastName":"Doe" } 这一点也容易理解,与这条 JavaScript 语句等价: firstName = "John&q

  • javascript解析json格式的数据方法详解

    JSON (JavaScript Object Notation)是一种简单的数据格式,比xml更轻巧. 它是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包.那么如何用JavaScript来解析json呢? 首先,科普一下json.在json中,有两种结构:对象和数组. 一个对象以"{"(左括号)开始,"}"(右括号)结束.每个"名称"后跟一个":"

  • 使用json对象转化为key,value的对象数组

    目录 json对象转为key,value对象数组 问题引出 解决方式 数组转换成json key-value形式 eg1(数组中包含的是数组) eg2(数组中包含的是对象) json对象转为key,value对象数组 问题引出 在某个从后端获取的表格数据中,有一列是对象格式,不能用于直接展示. 解决方式 不直接展示此列,在操作列加一个按钮,点击之后弹窗展示那一列的数据,形式为key和value的两列表格,key为该对象的各个字段名,value为字段值.这就需要将对象转化为key和value形式的

  • C#实现json格式转换成对象并更换key的方法

    本文实例讲述了C#实现json格式转换成对象并更换key的方法.分享给大家供大家参考.具体分析如下: 由于是不标准的序列化对象类型,因此你无法通过标准的反序列化类来实现,需要自定义一个序列化类或者简单点,直接自定义一个方法解析Json数据.解析后的数据用Dictionary来存放. string str = "{\"name\": \"甄嬛体\",\"2012-05-04 14:59\": \"5724\"}&quo

  • JS对象序列化成json数据和json数据转化为JS对象的代码

    JS对象序列化成json数据: function Serialize(obj){ switch(obj.constructor){ case Object: var str = "{"; for(var o in obj){ str += o + ":" + Serialize(obj[o]) +","; } if(str.substr(str.length-1) == ",") str = str.substr(0,str.

  • 替换json对象中的key最佳方案

    JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据.简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率. 看到标题你可能会想,如此简单的问题值得去探究吗?如果我有一个json object,只需下面简单的几行代码就可以完成: var o

  • nodejs将JSON字符串转化为JSON对象报错的解决

    如何将JSON字符串转化为JSON对象? JSON.parse(str) JSON是javascript的一个内置对象,提供了转换JSON对象与字符串互相转换的方法: 问题来了,道理我都懂可是就是报错! 这是我的一个JSON文件,里面是一些定义的JSON测试数据: 这是核心代码: 这是报错的信息: 为什么报错? 因为我的json文件读出来的开头有一个空格.就这回事. ok,修改代码,测试 使用trim去掉开头多余的空格 ok,通过! nodejs解析JSON数据 在nodejs中不用像在js中一

  • 在Python 中将类对象序列化为JSON

    目录 1. 引言 2. 举个栗子 3. 解决方案 3.1 使用 json.dumps() 和 __dict__ 3.2 实现 __str__ 和 __repr__ 3.3 实现 JSON encoder 4. 总结 1. 引言 序列化是将对象转换为可以在以后保存和检索介质中的过程.比如,将对象的当前状态保存到文件中.对于一些复杂的项目,序列化是所有开发人员迟早要做的事情.Python 语言的优点之一是它在许多常见的编程任务中易于使用,往往只需几行代码,就可以实现读取文件 IO.绘制图表等功能,序

  • 如何修改json字符串中某个key对应的value值

    字符串转json ,下面这种方式会把原有的字符串顺序打乱,所以不采用 JSONObject jsonObject = JSON.parseObject(你的JSON); 要先转为LinkedHashMap,再转json LinkedHashMap<String, Object> json = JSON.parseObject(你的JSON,LinkedHashMap.class,Feature.OrderedField); JSONObject jsonObject=new JSONObjec

  • vue对象添加属性(key:value)、显示和删除属性方式

    目录 对象添加属性(key:value).显示和删除属性 效果图 添加属性 删除属性 不能检测到对象属性的添加或删除问题 有三种解决方案 对象添加属性(key:value).显示和删除属性 效果图 <FormItem label="输入项填充内容 :" prop="value" :rules="name1" style="margin-top: 20px"> <Button type="succes

  • 把json格式的字符串转换成javascript对象或数组的方法总结

    第一种 JSON.parse(jsonString) 第二种 eval("("+jsonString+")") 第三种 var obj=(function ToJSON(o){ if(typeof(o)=="string")try{return new Function("return "+o)();}catch(e){return null;} })("[{name:'zhangsan',age:'24'},{na

  • Python判断是否json是否包含一个key的方法

    如下所示: jsonObject 是个json if (key in jsonObject) : print '有' else: print '没有' 以上这篇Python判断是否json是否包含一个key的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

随机推荐