1、JSON对象与字符串的转化

json的数据格式
JSON.stringify()—>可以将JSON对象转化为字符串
JSON.parse()可以将Json格式的字符串转化为JSON对象
—字符串外为单引号’’,里面属性名为双引号””

  1. <script>
  2. /* json的数据格式
  3. JSON.stringify()-->可以将JSON对象转化为字符串
  4. */
  5. var obj = {
  6. name:"lisi",
  7. age:18
  8. }
  9. var arr = [
  10. {name:"lisi",age:14}
  11. ]
  12. var res = JSON.stringify(obj);
  13. console.log(res);
  14. console.log(typeof res);
  15. console.log(JSON.stringify(arr));
  16. /* JSON.parse()可以将Json格式的字符串转化为JSON对象 */
  17. var str = '{"name":"lisi","age":18}'; /* 字符串外为单引号'',里面属性名为双引号"" */
  18. var sum = JSON.parse(str);
  19. console.log(sum)
  20. </script>

image.png

例子

  1. <script>
  2. var str = `
  3. [{"name":"李四666","data":[2019,10,11]},
  4. {"name":"张三666","data":[2017,10,11]},
  5. {"name":"王五点击666","data":[2018,10,11]}]
  6. `
  7. var arr = JSON.parse(str);
  8. console.log(arr);
  9. var list = []
  10. arr.forEach(item=>{
  11. console.log(item)
  12. var {name,data} = item;
  13. name = name.replace(/\d/g,"")+"...";
  14. data = data.join("-")
  15. list.push({
  16. name,
  17. data
  18. })
  19. })
  20. console.log(list)
  21. </script>

image.png

2、获取对象所有的属性和值

Object.keys()—>可以获取对象所有的属性
Object.values()—>可以获取对象所有属性的值

  1. <script>
  2. /*
  3. Object.keys()-->可以获取对象所有的属性
  4. Object.values()-->可以获取对象所有属性的值
  5. */
  6. var obj = {
  7. name:"李四",
  8. age:39
  9. }
  10. var keys = Object.keys(obj);
  11. var values = Object.values(obj);
  12. console.log(keys);
  13. console.log(values);
  14. </script>

image.png

例子

  1. <script>
  2. var arr = {
  3. A:[{city:"武汉"},{city:"广州"}],
  4. B:[{city:"深圳"},{city:"广州"}],
  5. C:[{city:"上海"},{city:"武汉"}]
  6. }
  7. var values = Object.values(arr);
  8. var res = []
  9. values.forEach(item=>{
  10. // console.log(item);
  11. item.forEach(city=>{
  12. console.log(city);
  13. var city = city.city
  14. if(res.indexOf(city)==-1){
  15. res.push(city)
  16. }
  17. })
  18. })
  19. console.log(res);
  20. </script>

image.png