首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从这个JSON中提取数据?

如何从这个JSON中提取数据?
EN

Stack Overflow用户
提问于 2016-04-23 04:10:56
回答 2查看 38关注 0票数 0

下面的JSON是这样的字符串,

代码语言:javascript
复制
String output = "[{\"Symbol\":\"AMZN\",\"Name\":\"Amazon.com Inc\",\"Exchange\":\"NASDAQ\"},{\"Symbol\":\"VXAZN\",\"Name\":\"CBOE Amazon VIX Index\",\"Exchange\":\"Market Data Express\"}]";

我想解析它并做一个这样的字符串数组,

代码语言:javascript
复制
array = {"AMZN Amazon.com Inc NASDAQ", "VXAZN CBOE Amazon VIX Index Market Data Express"};

我编写了以下代码,使用json-simple-1.1.1.jar库将字符串解析为JSON,

代码语言:javascript
复制
import org.json.simple.*;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;


public class RESTclient {

    public static void main(String[] args) {

            String output = "[{\"Symbol\":\"AMZN\",\"Name\":\"Amazon.com Inc\",\"Exchange\":\"NASDAQ\"},{\"Symbol\":\"VXAZN\",\"Name\":\"CBOE Amazon VIX Index\",\"Exchange\":\"Market Data Express\"}]";

            JSONParser parser = new JSONParser();

            JSONArray jsonArray = null;

            try {
                jsonArray = (JSONArray) parser.parse(output);
            } catch (ParseException e) {
                e.printStackTrace();
            }

            System.out.println(jsonArray);
        }
}

这给了我下面的输出

代码语言:javascript
复制
[{"Name":"Amazon.com Inc","Exchange":"NASDAQ","Symbol":"AMZN"},{"Name":"CBOE Amazon VIX Index","Exchange":"Market Data Express","Symbol":"VXAZN"}]

在此之后,是否有一种优雅的方法来实现我想要的输出呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-23 04:35:41

你得多写些代码。

代码语言:javascript
复制
ArrayList<String> stringArray = new ArrayList<String>();
for (Iterator iterator = jsonArray.iterator(); iterator.hasNext();) {
    JSONObject map = (JSONObject)iterator.next();
    stringArray.add(map.get("Symbol")+" "+map.get("Name")+" "+map.get("Exchange"));
}
//stringArray is want you want
票数 1
EN

Stack Overflow用户

发布于 2016-04-23 04:28:00

你可以像杰克逊那样,

代码语言:javascript
复制
    private ObjectMapper    mapper  = new ObjectMapper();
    String[] outputArray = mapper.readValue(jsonString, String[].class); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36806539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档