Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从JSON字符串元素提取JSON表_Javascript_Json_Jsonpath - Fatal编程技术网

Javascript 从JSON字符串元素提取JSON表

Javascript 从JSON字符串元素提取JSON表,javascript,json,jsonpath,Javascript,Json,Jsonpath,我从服务器获取此JSON作为响应: { "tab":[ "[[\"2018\",11,\"19\",\"16\",\"13\"],null,null,null,null,null,\"40\"]", "[[\"2018\",11,\"19\",\"16\",\"19\"],null,null,null,null,null,\"56\"]", "[[\"2018\",11,\"19\",\"16\",\"21\"],null,null,null,null,

我从服务器获取此JSON作为响应:

{
   "tab":[
      "[[\"2018\",11,\"19\",\"16\",\"13\"],null,null,null,null,null,\"40\"]",
      "[[\"2018\",11,\"19\",\"16\",\"19\"],null,null,null,null,null,\"56\"]",
      "[[\"2018\",11,\"19\",\"16\",\"21\"],null,null,null,null,\"57\",null]"
   ]
}

我知道,我可以使用$.tab[1]返回tab表的第一个元素。返回的元素是一个包含表的字符串-此表的第一个元素是另一个包含日期的表。问题是我应该使用什么JSON路径表达式来从内部表中提取年份值,或者从40、56、57结尾的数字中提取年份值?

我不知道你说的可以使用$.tab[1]获取第一个元素是什么意思。您正在使用jQuery吗?即便如此,这似乎也没有任何意义。无论如何,您可以解析这些内部表,并以数组的形式正常访问它们:

风险值结果={ 选项卡:[ [\2018\、11、\19\、16\、13\],空、空、空、空、空、\40\], [\2018\、11、\19\、16\、19\],空、空、空、空、空、\56\], [\2018\、11、\19\、16\、21\],空、空、空、空、\57\、空] ] }; //您可以将其重构为更方便使用的方法,这只是一个演示 var row=JSON.parseresults.tab[0]; //现在你有了一个多维数组,把它当作普通数组使用 console.logrow[0][0]//年
控制台.logrow[6]//数字您试图提取的数字在移动?您想提取年份还是数字?因为年份值或结尾的数字并不具体。不,它们不会移动,这只是一个例子。我需要这两样东西,那一年和在外桌的末尾。我只是不知道应该使用什么JSON路径表达式来从包含另一个表的字符串中获取某些内容。$.tab[1]返回第二个元素…对,我的错误-它是第二个元素。但这不是我的问题,我正在寻找一个JSON路径表达式,它允许我从该字符串中提取值。如果可能的话……是否需要使用JSONPath、@WojtusJ?是的,我需要在一个软件中使用它,该软件只允许我将JSON路径表达式应用于从服务器获得的响应。使用任何其他类型的处理(如JavaScript)都会使处理变得非常复杂。在这种情况下,我真的看不到一个好的解决方案。JSONPath只看到JSON结构,您基本上需要获取JSON元素的值并对其进行解析,而JSONPath无法做到这一点。它看到的只是一根绳子。我在我的解决方案中找到了一种使用JS代码的相当简单的方法,您的代码很有帮助。非常感谢!