如何将 VCard 转换为 JSON 数组

How to convert VCard to JSON Array

我正在使用以下代码从服务器读取内容

URL url = new URL("http://dev.dublabs.com:8080/mobileCampus/json/emergencyContacts");
    HttpURLConnection httpcon = (HttpURLConnection)url.openConnection();

    BufferedReader in = new BufferedReader(new InputStreamReader(httpcon.getInputStream()));
    String inputLine;
    while((inputLine=in.readLine())!=null){
        System.out.println(inputLine);
    }

服务器响应如下:

BEGIN:VCARD
VERSION:2.1
FN:Campus Police
N:Campus Police
TEL:555-EDU-HELP
ADR:8230 Boone Blvd.;Bldg 001;;Vienna;VA;22181;
X-MS-OL-DEFAULT-POSTAL-ADDRESS:01155
EMAIL:police@wisconsin.edu
REV:20120501T180000Z
END:VCARD
BEGIN:VCARD
VERSION:2.1
FN:Campus Medical Clinic
N:Campus Medical Clinic
TEL:555-EDU-HURT
ADR:8230 Boone Blvd.;Bldg 001;;Vienna;VA;22181;
X-MS-OL-DEFAULT-POSTAL-ADDRESS:01155
EMAIL:medical@wisconsin.edu
REV:20120501T180000Z
END:VCARD

有没有办法将其转换为 JSON 数组?

好的,这就是...

使用这个库应该可以解决您的问题:https://code.google.com/p/ez-vcard/

--- 使用您的 InputStreamReader 的方法(更确切地说:Reader)

VCard vcard = Ezvcard.parse(reader).first();

(其中 reader 是类型 "Reader",InputStreamReader 是类型)

并使用以下代码段将其导出到 JSON:

String json = Ezvcard.writeJson(vcard).go();