Dla celów rejestrowania, wypisuję ciąg odpowiedzi JSON i widzę je w androidowej komendzie "adb logcat". Czy istnieje sposób, aby ładnie sformatować ciąg znaków json w danych wyjściowych polecenia logcat adb, aby wyglądał tak?android - ciąg znaków json w adb logcat output
Odpowiedz
Możesz użyć metody , aby wydrukować JSON na logcat.
Log.d("tag", jsonObject.toString(4));
Wyjście
(29124): {
(29124): "text": "hello world",
(29124): "code": "0"
(29124): }
Nie dość wydrukować wiadomość JSON w kodzie. Po prostu dwukrotnie kliknę na wiadomość na komputerze Mac w systemie Mac OS X, a ona całkiem go wydrukuje lub podświetli Base64, aby ją zdekodować.
Pełne ujawnienie, jestem twórcą LogRabbit dla Mac.
Dodałem samouczek wideo do filtrowania wszystkich wiadomości, które zawierają JSON w plikach logcat tutaj https://www.youtube.com/watch? v = HeildKynnuc – Yepher
Można formacie JSON w dzienniku z oryginalnej formie kodem przetwarzanie moich Rejestrator:
link na Github: https://github.com/scijoker/logger
Źródło:
import android.os.Build;
import android.util.Log;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
/**
* Created by scijoker on 08.10.15.
*/
public class Logger {
private static boolean DEBUG = true;
public static void d(String tag, String arg) {
if (isEnable()) {
log(tag, arg);
}
}
public static void d(String logMsg) {
if (isEnable()) {
log(getCurrentClassName(), getCurrentMethodName() + "(): " + logMsg);
}
}
public static void dd(String tag, Object source) {
if (isEnable()) {
Object o = getJsonObjFromStr(source);
if (o != null) {
try {
if (o instanceof JSONObject) {
format(tag, ((JSONObject) o).toString(2));
} else if (o instanceof JSONArray) {
format(tag, ((JSONArray) o).toString(2));
} else {
format(tag, source);
}
} catch (JSONException e) {
format(tag, source);
}
} else {
format(tag, source);
}
}
}
private static void log(String tag, String msg) {
Log.d(tag, msg);
}
private static String getSplitter(int length) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < length; i++) {
builder.append("-");
}
return builder.toString();
}
private static void format(String tag, Object source) {
tag = " " + tag + " ";
log(" ", " ");
log(" ", getSplitter(50) + tag + getSplitter(50));
log(" ", "" + source);
log(" ", getSplitter(100 + tag.length()));
log(" ", " ");
}
private static String getCurrentMethodName() {
return Thread.currentThread().getStackTrace()[4].getMethodName();
}
private static String getCurrentClassName() {
String className = Thread.currentThread().getStackTrace()[4].getClassName();
String[] temp = className.split("[\\.]");
className = temp[temp.length - 1];
return className;
}
private static Object getJsonObjFromStr(Object test) {
Object o = null;
try {
o = new JSONObject(test.toString());
} catch (JSONException ex) {
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
o = new JSONArray(test);
}
} catch (JSONException ex1) {
return null;
}
}
return o;
}
public static boolean isEnable() {
return DEBUG;
}
public static void setEnable(boolean flag) {
Logger.DEBUG = flag;
}
}
fastJson dostarczenie sposobu:
//serialize a prettyFormat json string
public static final String toJSONString(Object object, boolean prettyFormat);
eg:Log.d(TAG,JSON.toJSONString(object, true));
- 1. Jak wyjść z adb logcat
- 2. Zend Framework JSON Output
- 3. Jak działa ADB Logcat Czas rejestrowania Pracuj
- 4. Wyświetl Logcat w Terminalu?
- 5. kolor linii logcat w systemie Linux [Android]
- 6. Pandas Dataframe output do JSON
- 7. Debugowanie aplikacji WebView (jonowej) w systemie Android za pomocą logcat
- 8. Przekieruj stdout na logcat w systemie Android NDK
- 9. Jak zmodyfikować duży ciąg znaków json?
- 10. Parsowanie obiektu json na ciąg znaków
- 11. Jak przekonwertować ciąg znaków w Unicode w android
- 12. Android adb usb speed
- 13. Android LogCat wypisuje ostatnią linię
- 14. Urządzenie Android LogCat zostało odłączone
- 15. Wyklucz kolumnę z jq json output
- 16. Android Studio ADB usuwa pliki logcat po awarii aplikacji! Ohh Myy
- 17. zobacz android logcat bez Eclipse
- 18. Łańcuch JSON jest traktowany jako ciąg znaków w pętli
- 19. Deserializować ciąg znaków JSON w języku C# bez użycia refleksji
- 20. Konwertuj ciąg znaków na JSON w języku Python?
- 21. Niezwykła wiadomość logcat pokazana w nieskończoność - Android
- 22. Zmiana czcionki Android LogCat w środowisku Eclipse
- 23. W jaki sposób są zapisywane wiadomości logcat
- 24. błąd połączenia Android Studio ADB
- 25. Jak opróżnić (wyczyścić) bufor logcat w Androidzie
- 26. Genymotion Android emulator - dostęp adb?
- 27. analizowania zagnieżdżone JSON ciąg w Logstash
- 28. Adb android konflikt z Genymotion
- 29. konwersja z ciągu znaków na obiekt json android
- 30. Co to jest adb w systemie Android?
niesamowite, dzięki! – Michael
@DeepakBala Co to jest '4' w' Log.d ("tag", jsonObject.toString (4)); '? Czy to jest odstęp? –
Tak, jest to [współczynnik wcięcia] (http://www.json.org/javadoc/org/json/JSONObject.html#toString (int)) –