Heim > Web-Frontend > js-Tutorial > Hauptteil

Konvertierung zwischen JSONs String-String und Javas List-Objekt

高洛峰
Freigeben: 2017-01-18 10:01:27
Original
1557 Leute haben es durchsucht

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;
Nach dem Login kopieren

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>
Nach dem Login kopieren

2. Liste in JSON konvertieren

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

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;
 }
Nach dem Login kopieren

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();
}
Nach dem Login kopieren

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


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!