Heim >Web-Frontend >js-Tutorial >Konvertierung zwischen JSONs String-String und Javas List-Objekt

Konvertierung zwischen JSONs String-String und Javas List-Objekt

高洛峰
高洛峰Original
2017-01-18 10:01:271605Durchsuche

Am Frontend:
1. Wenn JSON aus einem Listenobjekt konvertiert wird, können Sie JSON direkt durchlaufen und Daten lesen.
2. Wenn Sie das Front-End-Listenobjekt in JSON konvertieren und an das Backend senden müssen, ist param der Ajax-Parameter, dann erfolgt die Konvertierung wie folgt:

var jsonStr = JSON.stringify(list);
var param= {};
param.jsonStr=jsonStr;

Im Backend:
1. String in Liste konvertieren (Str in Liste konvertieren)

List<T> list = new ArrayList<T>();
JSONArray jsonArray = JSONArray.fromObject(str);//把String转换为json
list = JSONArray.toList(jsonArray,t);//这里的t是Class<T>

2. Liste in JSON konvertieren

JSONArray json = JSONArray.fromObject(object);
String str = json.toString();//把json转换为String

z. B.:
1. Erstellen Sie eine Liste von Antwortobjekten basierend auf den vom Seitenbenutzer eingegebenen Informationen

/**
  * @param answers
  * @param question_ids
  * @param types
  * @return
  */
 private List<Answer> toAnswerList(String[] studenAnswers, int[] question_ids,
   int[] types,int[] scores) {
  List<Answer> answerList = new ArrayList<Answer>();
    
  if(studenAnswers!=null && question_ids!= null && types!= null&& scores!= null){
   for (int i = 0; i < studenAnswers.length; i++) {
      
    Answer answer = new Answer();
    String studenAnswer = studenAnswers[i];
    int type = types[i];
    int question_id = question_ids[i];
    int score = scores[i];
    
      
    answer.setQuestion_id(question_id);
    answer.setScore(score);
    answer.setStudenAnswer(studenAnswer);
    answer.setType(type);
      
    answerList.add(answer);
   }
  }
  return answerList;
 }
  
 /**
  * 将一个json字串转为list
  * @param props
  * @return
  */
 public static List<Answer> converAnswerFormString(String answer){
  if (answer == null || answer.equals(""))
   return new ArrayList();
  
  JSONArray jsonArray = JSONArray.fromObject(answer);
  List<Answer> list = (List) JSONArray.toCollection(jsonArray,
    Answer.class);
    
  return list;
 }

2. Erstellen Sie eine Liste von Antwortobjekten. Der JSON-String wird basierend auf den vom Benutzer auf der Clientseite eingegebenen Informationen generiert.

public String getAnswerString(String[] studenAnswers, int[] question_ids,
  int[] types,int[] scores) {
 List list = toAnswerList(studenAnswers, question_ids,
    types, scores);
 JSONArray jsonarray = JSONArray.fromObject(list);
 
 return jsonarray.toString();
}

Weitere Artikel zur Konvertierung von JSON-String-Strings und Java-Listenobjekten Bitte achten Sie auf die chinesische PHP-Website!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn