如何在邮递员中同时显示多个 JSON 对象?

How to display multiple JSON Object simultaneously in postman?


public String doStock(JsonObject SymbolName) throws Exception {
        JSONObject obj2 = new JSONObject(SymbolName);
        JSONArray jsonArray = (JSONArray) obj2.get("SymbolName");
        
        JSONObject obj3 = new JSONObject();
        Object obj = null;
        System.out.println("");
        System.out.println("Symbol Name: ");
        //Iterating the contents of the array
        for(int i = 0; i < jsonArray.length(); i++){
            obj = jsonArray.get(i);  
            System.out.println(obj);
            obj3=checkStock(obj.toString());
          
        }
    
        return obj3.toString();
     
    }

我的 post 请求:{"SymbolName":["ODP","ACC"]} 在此仅有关 ACC 的详细信息返回给 postman 但在控制台中都显示,我想显示关于 ODP 和 ACC 的 json 对象。如何做到这一点?

问题不在于 PostMan,而在于您的响应对象。

您将需要创建一个包装器方法,它将不同的“SymbolName”return 对象组合成一个新对象。

根据您显示的代码,我了解到您需要使用名为 doStock() 的方法遍历每个交易品种名称,在该方法中您 运行 每个交易品种名称的 checkStock(symbolname) 方法, 将 checkStock 方法的 return 对象附加到 array/List 中,最后当处理完所有交易品种名称时, return array/List.

此数组将包含您的所有 json 个对象。

在您的代码中,obj3 在循环中被覆盖,这就是为什么您只能在 postman 中看到一个对象,这将是您的最后一个 obj3 return。

请看下面修改后的代码:

public List doStock(JsonObject SymbolName) throws Exception {
        JSONObject obj2 = new JSONObject(SymbolName);
        JSONArray jsonArray = (JSONArray) obj2.get("SymbolName");
        
        JSONObject obj3 = new JSONObject();
        List returnList = new ArrayList()
        Object obj = null;
        System.out.println("");
        System.out.println("Symbol Name: ");
        //Iterating the contents of the array
        for(int i = 0; i < jsonArray.length(); i++){
            obj = jsonArray.get(i);  
            System.out.println(obj);
            obj3=checkStock(obj);
            returnList.add(obj3)
        }
    
        return returnList;
     
    }