JSON仅获取带有值的字符串

Posted

技术标签:

【中文标题】JSON仅获取带有值的字符串【英文标题】:JSON get string with values only 【发布时间】:2022-01-04 12:25:03 【问题描述】:

给定这样的json:

    
       "key1":value1,
       "key2":value2
    

使用放心的 JsonPath

new JsonPath(json).getString("path")

它返回类似[key1=value1, key2=value2] 有没有办法只返回像 [value1, value2] 这样的值?

【问题讨论】:

"给定 json 像这样:["key1":value1, "key2"=value2]" 这不是有效的 JSON。 我的意思是任何 json "key1":"value1", "key2"="value2" 那请指正你的问题(不介绍与主题无关的问题), 【参考方案1】:

您的问题主题与您的问题无关。但是,您可以使用简单的函数来实现您的目标。

function getValuesOnly(obj) 
 let values = []

 for(key in obj) 
   values.push(obj[key])
 

 return values

上述函数将返回每个键中的所有值。您也可以使用波纹管函数从嵌套对象中获取值。

function getValuesOnlyNested(obj) 
  let values = [];
  for (key in obj) 
    if (typeof obj[key] !== "object") 
      values.push(obj[key]);
     else 
      values = values.concat(getValuesOnlyNested(obj[key]));
    
  
  return values;

【讨论】:

以上是关于JSON仅获取带有值的字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何从JSON字符串获取值的所有JSON路径列表?

csharp 从Examine.SearchResult获取字段值的扩展方法,带有字符串回退

SQL仅获取带有前导数字的字符串

json的Pyspark问题具有字符串和数组值的字段

仅获取共享特定属性值的 Core Data 对象

AJAX 成功调用仅从 JSON 字符串中获取一个值