2016-06-09 2 views
1

Я написал класс для получения данных har из браузера firefox.получить данные Har в json и строчном формате

Я хочу, чтобы данные в формате JSON отображались правильно.

Мой код:

ProxyServer server = new ProxyServer(4444); 
    server.start(); 

    //captures the moouse movements and navigations 
    server.setCaptureHeaders(true); 
    server.setCaptureContent(true); 

    // get the Selenium proxy object 
    Proxy proxy = server.seleniumProxy(); 

    // configure it as a desired capability 
    DesiredCapabilities capabilities = new DesiredCapabilities(); 
    capabilities.setCapability(CapabilityType.PROXY, proxy); 

    // start the browser up 
    WebDriver driver = new FirefoxDriver(capabilities); 

    // create a new HAR with the label "apple.com" 
    server.newHar("yahoo.com"); 

    // open yahoo.com 
    driver.get("http://yahoo.com"); 

    // get the HAR data 
    net.lightbody.bmp.core.har.Har har = server.getHar(); 

мая кто-нибудь помочь мне с получением данных Har в формате JSON и в строке тоже!

ответ

1

Извините за поздний ответ.

Надеясь, что это может помочь кому-то еще здесь.

Вы можете использовать StringWriter для записи Har в String. Таким образом, вы можете получить хар как строку. И вы можете разобрать эту строку, используя Gson, чтобы получить объект JSON.

net.lightbody.bmp.core.har.Har har = server.getHar(); 

java.io.StringWriter writer = new java.io.StringWriter(); 
try { 
      har.writeTo(writer); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

String harAsString = writer.toString(); 

com.google.gson.JsonElement harAsJson = new com.google.gson.Gson().toJsonTree(writer.toString()); 
Смежные вопросы