私はArrayList
をJSONとして出力するために以下のコードを書きました。私は、コードを実行したとき、以下に示すように、I出力を得る:ArraysList as JSON
{uniteids:= [{ "UniteId:": "gsheetyr"、 "メッセージ":」与えられたユーザーがすでに所与のメンバーでありますDL:、}}、{"UniteId:": "spokuri"、 "Message:": "指定されたユーザーは既に指定のDLのメンバーです。"}]}
しかし、出力は以下の形式になります。自分のコードにどのような変更を加える必要があるか教えてください。
{ "uniteids":[{ "UniteId:": "gsheetyr"、 "メッセージ": "与えられたユーザーがすでに与えられたDLのメンバーである、。 "}、{" UniteId:": "spokuri"、 "メッセージ": "与えられたユーザーは、すでに与えられたDLのメンバーで、"}]}
コード:
package com.uniteid.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.json.JSONArray;
public class JsonResponse {
public static void main(String[] args) {
List<String> retStatus = new ArrayList<String>();
Map<String, String> stat = new HashMap<String, String>();
String jsonInString = "NORESPONSE";
String jsonInString2 = "";
Map<String, String> uniteidshashMap = new HashMap<String, String>();
JSONArray ja = new JSONArray();
retStatus.add("gsheetyr: The given user is already a member of the given DL.,");
retStatus.add("spokuri : The given user is already a member of the given DL.,");
if (retStatus.size() > 0) {
for (int i = 0; i < retStatus.size(); i++) {
String splited[] = retStatus.get(i).split("\\:");
stat.put("UniteId:", splited[0]);
stat.put("Message:",splited[1]);
ja.put(stat);
System.out.println(ja);
}
jsonInString = ja.toString();
uniteidshashMap.put("uniteids:", jsonInString);
jsonInString2 = uniteidshashMap.toString();
System.out.println(jsonInString2);
}
}
}
を試してみて、それがPHPであるように、私はJavaのマップ上でtoString()を呼び出すJavaの –
に書いていますが、 "=" 記号が追加されます見えます。 https://docs.oracle.com/javase/7/docs/api/java/util/AbstractMap.html#toString() – Terje
@sarathmandavaああ申し訳ありませんが、Dが投稿を混同しました – Edwin