我目前有一个像这样的字符串化JSON对象: (重要的是,这是我必须进行字符串化处理的对象,之后我需要长度计数)
我正在对返回result
的数据库进行呼叫。
我想这样包装我的结果:var myData = JSON.stringify(result);
这将产生以下内容,但更多:
myData = {
"0":[{"id": 50, "product_id": 'blah blah', etc}, {"id": 52, "product_id": 'blah blah', etc}, {"id": 50, "product_id": 'blah blah', etc}],
"1":[{"id": 50, "product_id": 'blah blah', etc}, {"id": 52, "product_id": 'blah blah', etc}, {"id": 50, "product_id": 'blah blah', etc}],
"2":[{"id": 50, "product_id": 'blah blah', etc}, {"id": 52, "product_id": 'blah blah', etc}, {"id": 50, "product_id": 'blah blah', etc}]
}
我已经尝试了所有可以想到的方法来获取根级别的长度。在此示例中,将有3个。我需要知道长度,这样我就可以选择每个长度来遍历它。
我该怎么做?
我尝试过(var data in myData)
,而我尝试过Object.keys(myData).length
。
我已经在控制台上登录了Ojbect.keys(myData).length
,结果是9234
。
我尝试过的所有方法似乎都没有效果。
答案 0 :(得分:3)
猜猜我将其添加为答案:)
从服务器获取的数据为JSON格式,因为您使用JSON.stringify
包装了该数据。现在,您需要先解析数据,然后才能进行大量处理。使用JSON.parse
执行此操作:
const serverJSONResponse = getJSONFromServer();
const myData = JSON.parse(serverJSONResponse);
const length = Object.keys(myData).length;
请注意,有一些方法可以告诉您您在客户端上使用什么来发出请求,该响应将是JSON,然后它将自动为您调用JSON.parse
,这样您就不需要了每次都手动进行。
答案 1 :(得分:1)
@Aspect
@Component
public class DaoAspect{
@Pointcut("within(com.xyz..dao.*)")
public void allDao(){};
@Before("allDao")
public void runAdvise(){
//some code
}
}
完美运行
Object.keys(myData).length)