簡體   English   中英

如何在Java中解析JSON字符串中的項目

[英]How to parse items from JSON string in Java

我有此代碼,我嘗試從此JSON字符串獲取項目,但失敗。

我正在從遠程主機解析Json字符串。

package selectDB;

import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.sql.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import org.json.simple.*;

public class selectDB
 {
  public static void main(String[] args) throws IOException, ParseException
  {
      String s = "";
      URL u = new URL("http://192.168.3.1/android/select.php");
      URLConnection c = u.openConnection();
      InputStream r = c.getInputStream();
      BufferedReader reader = new BufferedReader(new InputStreamReader(r));
      for(String line; (line = reader.readLine()) != null;)
          {
            s+=line;
          }
      System.out.println(s);
  }
}

結果是

{"result" : "true" , "messages" : [{"id":"866343023633578","latitute":"27","longitude":"31","number_phone":"01113171374"},{"id":"352168066354050","latitute":"27","longitude":"31","number_phone":"202222"},{"id":"50","latitute":"50","longitude":"100","number_phone":"50"},{"id":"110","latitute":"50","longitude":"50","number_phone":"110"},{"id":"120","latitute":"27","longitude":"31","number_phone":"120"},{"id":"130","latitute":"28","longitude":"29","number_phone":"120"},{"id":"140","latitute":"30","longitude":"40","number_phone":"140"},{"id":"800","latitute":"60","longitude":"30","number_phone":"800"},{"id":"353629054230064","latitute":"70","longitude":"80","number_phone":"120"}]}

請幫忙!

U可以使用JsonReader類。

try (JsonReader in = Json.createReader(r)) {

      JsonObject jsonObject= in.readObject();
      YourObject obj = new YourObject();
      obj.setSomething(jsonObject.getString("something", null));

      // "something" is the key in the json file, null is the default
      // when "something" was not found      

} catch (JsonException | ClassCastException ex) {
      throw new BadRequestException("Invalid Json Input");
}

您也可以使用Google圖書館GSON,它易於使用並且可以自我解釋。

https://code.google.com/p/google-gson/

格森進球

提供簡單的toJson()和fromJson()方法,將Java對象轉換為JSON,反之亦然。允許將先前存在的不可修改的對象與JSON相互轉換。廣泛支持Java泛型。允許對象的自定義表示形式支持任意復雜的對象(具有深層的繼承層次結構和泛型類型的廣泛使用)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM