Android【本地Json处理工具类】

Android【本地Json处理工具类】

代码

public class ConvertUtils {
   
    public static final long GB = 1073741824L;
    public static final long MB = 1048576L;
    public static final long KB = 1024L;

    public ConvertUtils() {
   
    }

    public static int toInt(Object obj) {
   
        try {
   
            return Integer.parseInt(obj.toString());
        } catch (NumberFormatException var2) {
   
            return -1;
        }
    }

    public static int toInt(byte[] bytes) {
   
        int result = 0;

        for (int i = 0; i < bytes.length; ++i) {
   
            byte abyte = bytes[i];
            result += (abyte & 255) << 8 * i;
        }

        return result;
    }

    public static int toShort(byte first, byte second) {
   
        return (first << 8) + (second & 255);
    }

    public static long toLong(Object obj) {
   
        try {
   
            return Long.parseLong(obj.toString());
        } catch (NumberFormatException var2) {
   
            return -1L;
        }
    }

    public static float toFloat(Object obj) {
   
        try {
   
            return Float.parseFloat(obj.toString());
        } catch (NumberFormatException var2) {
   
            return -1.0F;
        }
    }

    public static byte[] toByteArray(int i) {
   
        return ByteBuffer.allocate(4).putInt(i).array();
    }

    public static byte[] toByteArray(String hexData, boolean isHex) {
   
        if (hexData != null && !hexData.equals("")) {
   
            if (!isHex) {
   
                return hexData.getBytes();
            } else {
   
                hexData = hexData.replaceAll("\\s+", "");
                String hexDigits = "0123456789ABCDEF";
                ByteArrayOutputStream baos = new ByteArrayOutputStream(hexData.length() / 2);

                for (int i = 0; i < hexData.length(); i += 2) {
   
                    baos.write(hexDigits.indexOf(hexData.charAt(i)) << 4 | hexDigits.indexOf(hexData.charAt(i + 1)));
                }

                byte[] bytes = baos.toByteArray();

                try {
   
                    baos.close();
                } catch (IOException var6) {
   
                    LogUtils.warn(var6);
                }

                return bytes;
            }
        } else {
   
            return null;
        }
    }

    public static String toHexString(String str) {
   
        if (TextUtils.isEmpty(str)) {
   
            return "";
        } else {
   
            StringBuilder builder = new StringBuilder();
            byte[] bytes = str.getBytes();
            byte[] var3 = bytes;
            int var4 = bytes.length;

            for (int var5 = 0; var5 < var4; ++var5) {
   
                byte aByte = var3[var5];
                builder.append(Integer.toHexString(255 & aByte));
                builder.append(" ");
            }

            return builder.toString();
        }
    }

    public static String toHexString(byte... bytes) {
   
        char[] DIGITS = new char[]{
   '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
        char[] buffer = new char[bytes.length * 2];
        int i = 0;

        for (int var4 = 0; i < bytes.length; ++i) {
   
            int u = bytes[i] < 0 ? bytes[i] + 256 : bytes[i];
            buffer[var4++] = DIGITS[u >>> 4];
            buffer[var4++] = DIGITS[u & 15];
        }

        return new String(buffer);
    }

    public static String toHexString(int num) {
   
        String hexString = Integer.toHexString(num);
        LogUtils.verbose(String.format(Locale.CHINA, "%d to hex string is %s", new Object[]{
   Integer.valueOf(num), hexString}));
        return hexString;
    }

    public static String toBinaryString(byte... bytes) {
   
        char[] DIGITS = new char[]{
   '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
        char[] buffer = new char[bytes.length * 8];
        int i = 0;

        for (int var4 = 0; i < bytes.length; ++i) {
   
            int u = bytes[i] < 0 ? bytes[i] + 256 : bytes[i];
            buffer[var4++] = DIGITS[u >>> 7 & 1];
            buffer[var4++] = DIGITS[u >>> 6 & 1];
            buffer[var4++] = DIGITS[u >>> 5 & 1];
            buffer[var4++] = DIGITS[u >>> 4 & 1];
            buffer[var4++] = DIGITS[u >>> 3 & 1];
            buffer[var4++] = DIGITS[u >>> 2 & 1];
            buffer[var4++] = DIGITS[u >>> 1 & 1];
            buffer[var4++] = DIGITS[u & 1];
        }

        return new String(buffer);
    }

    public static String toBinaryString(int num) {
   
        String binaryString = Integer.toBinaryString(num);
        LogUtils.verbose(String.format(Locale.CHINA, "%d to binary string is %s", new Object[]{
   Integer.valueOf(num), binaryString}));
        return binaryString;
    }

    public static String toSlashString(String str) {
   
        String result = "";
        char[] chars = str.toCharArray();
        char[] var3 = chars;
        int var4 = chars.length;

        for (int var5 = 0; var5 < var4; ++var5) {
   
            char chr = var3[var5];
            if (chr == 34 || chr == 39 || chr == 92) {
   
                result = result + "\\";
            }

            result = result + chr;
        }

        return result;
    }

    public static <T> T[] toArray(List<T> list) {
   
        return (T[]) list.toArray();
    }

    public static <T> List<T> toList(T[] array) {
   
        return Arrays.asList(array);
    }

    public static String toString(Object[] objects) {
   
        return Arrays.deepToString(objects);
    }

    public static String toString(Object[] objects, String tag) {
   
        StringBuilder sb = new StringBuilder();
        Object[] var3 = objects;
        int var4 = objects.length;

        for (int var5 = 0; var5 < var4; ++var5) {
   
            Object object = var3[var5];
            sb.append(object);
            sb.append(tag);
        }

        return sb.toString();
    }

    public static byte[] toByteArray(InputStream is) {
   
        if (is == null) {
   
            return null;
        } else {
   
            try {
   
                ByteArrayOutputStream os = new ByteArrayOutputStream();
                byte[] buff = new byte[100];

                while (true) {
   
                    int len = is.read(buff, 0, 100);
                    if (len == -1) {
   
                        byte[] bytes = os.toByteArray();
                        os.close();
                        is.close();
                        return bytes;
                    }

                    os.write(buff, 0, len);
                }
            } catch (IOException var4) {
   
                LogUtils.warn(var4);
                return null;
            }
        }
    }

    public static byte[] toByteArray(Bitmap bitmap) {
   
        if (bitmap == null) {
   
            return null;
        } else {
   
            ByteArrayOutputStream os = new ByteArrayOutputStream();
            bitmap.compress(Bitmap.CompressFormat.PNG, 100, os);
            byte[] bytes = os.toByteArray();

            try {
   
                os.close();
            } catch (IOException var4) {
   
                LogUtils.warn(var4);
            }

            return bytes;
        }
    }

    public static Bitmap toBitmap(byte[] bytes, int width, int height) {
   
        Bitmap bitmap = null;
        if (bytes.length != 0) {
   
            try {
   
                BitmapFactory.Options options = new BitmapFactory.Options();
                options.inDither = false;
                options.inPreferredConfig = null;
                if (width > 0 && height > 0) {
   
                    options.outWidth = width;
                    options.outHeight = height;
                }

                bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length, options);
                bitmap.setDensity(96);
            } catch (Exception var5) {
   
                LogUtils.error(var5);
            }
        }

        return bitmap;
    }

    public static Bitmap toBitmap(byte[] bytes) {
   
        return toBitmap(bytes, -1, -1);
    }

    public static Bitmap toBitmap(Drawable drawable) {
   
        if (drawable instanceof BitmapDrawable) {
   
            return ((BitmapDrawable) drawable).getBitmap();
        } else {
   
            Bitmap bitmap;
            Canvas canvas;
            if (drawable instanceof ColorDrawable) {
   
                bitmap = Bitmap.createBitmap(32, 32, Bitmap.Config.ARGB_8888);
                canvas = new Canvas(bitmap);
                canvas.drawColor(((ColorDrawable) drawable).getColor());
                return bitmap;
            } else if (drawable instanceof NinePatchDrawable) {
   
                bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
                canvas = new Canvas(bitmap);
                drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
                drawable.draw(canvas);
                return bitmap;
            } else {
   
                return null;
            }
        }
    }

    @TargetApi(19)
    public static String toPath(Context context, Uri uri) {
   
        if (uri == null) {
   
            LogUtils.verbose("uri is null");
            return "";
        } else {
   
            LogUtils.verbose("uri: " + uri.toString());
            String path = uri.getPath();
            String scheme = uri.getScheme();
            String authority = uri.getAuthority();
            boolean isKitKat = Build.VERSION.SDK_INT >= 19;
            if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) {
   
                String docId = DocumentsContract.getDocumentId(uri);
                String[] split = docId.split(":");
                String type = split[0];
                Uri contentUri = null;
                byte var11 = -1;
                switch (authority.hashCode()) {
   
                    case 320699453:
                        if (authority.equals("com.android.providers.downloads.documents")) {
   
                            var11 = 1;
                        }
                        break;
                    case 596745902:
                        if (authority.equals("com.android.externalstorage.documents")) {
   
                            var11 = 0;
                        }
                        break;
                    case 1734583286:
                        if (authority.equals("com.android.providers.media.documents")) {
   
                            var11 = 2;
                        }
                }

                switch (var11) {
   
                    case 0:
                        if ("primary".equalsIgnoreCase(type)) {
   
                            return Environment.getExternalStorageDirectory() + "/" + split[1];
                        }
                        break;
                    case 1:
                        contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), Long.valueOf(docId).longValue());
                        return _queryPathFromMediaStore(context, contentUri, (String) null, (String[]) null);
                    case 2:
                        if ("image".equals(type)) {
   
                            contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
                        } else if ("video".equals(type)) {
   
                            contentUri = android.provider.MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
                        } else if ("audio".equals(type)) {
   
                            contentUri = android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
                        }

                        String selection = "_id=?";
                        String[] selectionArgs = new String[]{
   split[1]};
                        return _queryPathFromMediaStore(context, contentUri, selection, selectionArgs);
                }
            } else {
   
                if ("content".equalsIgnoreCase(scheme)) {
   
                    if (authority.equals("com.google.android.apps.photos.content")) {
   
                        return uri.getLastPathSegment();
                    }

                    return _queryPathFromMediaStore(context, uri, (String) null, (String[]) null);
                }

                if ("file".equalsIgnoreCase(scheme)) {
   
                    return uri.getPath();
                }
            }

            LogUtils.verbose("uri to path: " + path);
            return path;
        }
    }

    private static String _queryPathFromMediaStore(Context context, Uri uri, String selection, String[] selectionArgs) {
   
        String filePath = null;

        try {
   
            String[] projection = new String[]{
   "_data"};
            Cursor cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs, (String) null);
            if (cursor != null) {
   
                int column_index = cursor.getColumnIndexOrThrow("_data");
                cursor.moveToFirst();
                filePath = cursor.getString(column_index);
                cursor.close();
            }
        } catch (IllegalArgumentException var8) {
   
            LogUtils.error(var8);
        }

        return filePath;
    }

    @SuppressLint("WrongConstant")
    public static Bitmap toBitmap(View view) {
   
        int width = view.getWidth();
        int height = view.getHeight();
        int color;
        if (view instanceof ListView) {
   
            height = 0;
            ListView listView = (ListView) view;

            for (color = 0; color < listView.getChildCount(); ++color) {
   
                height += listView.getChildAt(color).getHeight();
            }
        } else if (view instanceof ScrollView) {
   
            height = 0;
            ScrollView scrollView = (ScrollView) view;

            for (color = 0; color < scrollView.getChildCount(); ++color) {
   
                height += scrollView.getChildAt(color).getHeight();
            }
        }

        view.setDrawingCacheEnabled(true);
        view.clearFocus();
        view.setPressed(false);
        boolean willNotCache = view.willNotCacheDrawing();
        view.setWillNotCacheDrawing(false);
        color = view.getDrawingCacheBackgroundColor();
        view.setDrawingCacheBackgroundColor(-1);
        if (color != -1) {
   
            view.destroyDrawingCache();
        }

        view.buildDrawingCache();
        Bitmap cacheBitmap = view.getDrawingCache();
        if (cacheBitmap == null) {
   
            return null;
        } else {
   
            Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
            Canvas canvas = new Canvas(bitmap);
            canvas.drawBitmap(cacheBitmap, 0.0F, 0.0F, (Paint) null);
            canvas.save(31);
            canvas.restore();
            if (!bitmap.isRecycled()) {
   
                LogUtils.verbose("recycle bitmap: " + bitmap.toString());
                bitmap.recycle();
            }

            view.destroyDrawingCache();
            view.setWillNotCacheDrawing(willNotCache);
            view.setDrawingCacheBackgroundColor(color);
            return bitmap;
        }
    }

    public static Drawable toDrawable(Bitmap bitmap) {
   
        return bitmap == null ? null : new BitmapDrawable(Resources.getSystem(), bitmap);
    }

    public static byte[] toByteArray(Drawable drawable) {
   
        return toByteArray(toBitmap(drawable));
    }

    public static Drawable toDrawable(byte[] bytes) {
   
        return toDrawable(toBitmap(bytes));
    }

    public static int toPx(Context context, float dpValue) {
   
        float scale = context.getResources().getDisplayMetrics().density;
        int pxValue = (int) (dpValue * scale + 0.5F);
        LogUtils.verbose(dpValue + " dp == " + pxValue + " px");
        return pxValue;
    }

    public static int toPx(float dpValue) {
   
        Resources resources = Resources.getSystem();
        float px = TypedValue.applyDimension(1, dpValue, resources.getDisplayMetrics());
        return (int) px;
    }

    public static int toDp(Context context, float pxValue) {
   
        float scale = context.getResources().getDisplayMetrics().density;
        int dpValue = (int) (pxValue / scale + 0.5F);
        LogUtils.verbose(pxValue + " px == " + dpValue + " dp");
        return dpValue;
    }

    public static int toSp(Context context, float pxValue) {
   
        float fontScale = context.getResources().getDisplayMetrics().scaledDensity;
        int spValue = (int) (pxValue / fontScale + 0.5F);
        LogUtils.verbose(pxValue + " px == " + spValue + " sp");
        return spValue;
    }

    public static String toGbk(String str) {
   
        try {
   
            return new String(str.getBytes("utf-8"), "gbk");
        } catch (UnsupportedEncodingException var2) {
   
            LogUtils.warn(var2);
            return str;
        }
    }

    public static String toFileSizeString(long fileSize) {
   
        DecimalFormat df = new DecimalFormat("0.00");
        String fileSizeString;
        if (fileSize < 1024L) {
   
            fileSizeString = fileSize + "B";
        } else if (fileSize < 1048576L) {
   
            fileSizeString = df.format((double) fileSize / 1024.0D) + "K";
        } else if (fileSize < 1073741824L) {
   
            fileSizeString = df.format((double) fileSize / 1048576.0D) + "M";
        } else {
   
            fileSizeString = df.format((double) fileSize / 1.073741824E9D) + "G";
        }

        return fileSizeString;
    }

    public static String toString(InputStream is, String charset) {
   
        StringBuilder sb = new StringBuilder();

        try {
   
            BufferedReader reader = new BufferedReader(new InputStreamReader(is, charset));

            while (true) {
   
                String line = reader.readLine();
                if (line == null) {
   
                    reader.close();
                    is.close();
                    break;
                }

                sb.append(line).append("\n");
            }
        } catch (IOException var5) {
   
            LogUtils.error(var5);
        }

        return sb.toString();
    }

    public static String toString(InputStream is) {
   
        return toString(is, "utf-8");
    }

    public static int toDarkenColor(@ColorInt int color) {
   
        return toDarkenColor(color, 0.8F);
    }

    public static int toDarkenColor(@ColorInt int color, @FloatRange(from = 0.0D, to = 1.0D) float value) {
   
        float[] hsv = new float[3];
        Color.colorToHSV(color, hsv);
        hsv[2] *= value;
        return Color.HSVToColor(hsv);
    }

    public static String toColorString(@ColorInt int color) {
   
        return toColorString(color, false);
    }

    public static String toColorString(@ColorInt int color, boolean includeAlpha) {
   
        String alpha = Integer.toHexString(Color.alpha(color));
        String red = Integer.toHexString(Color.red(color));
        String green = Integer.toHexString(Color.green(color));
        String blue = Integer.toHexString(Color.blue(color));
        if (alpha.length() == 1) {
   
            alpha = "0" + alpha;
        }

        if (red.length() == 1) {
   
            red = "0" + red;
        }

        if (green.length() == 1) {
   
            green = "0" + green;
        }

        if (blue.length() == 1) {
   
            blue = "0" + blue;
        }

        String colorString;
        if (includeAlpha) {
   
            colorString = alpha + red + green + blue;
            LogUtils.verbose(String.format(Locale.CHINA, "%d to color string is %s", new Object[]{
   Integer.valueOf(color), colorString}));
        } else {
   
            colorString = red + green + blue;
            LogUtils.verbose(String.format(Locale.CHINA, "%d to color string is %s%s%s%s, exclude alpha is %s", new Object[]{
   Integer.valueOf(color), alpha, red, green, blue, colorString}));
        }

        return colorString;
    }

    public static ColorStateList toColorStateList(@ColorInt int normalColor, @ColorInt int pressedColor, @ColorInt int focusedColor, @ColorInt int unableColor) {
   
        int[] colors = new int[]{
   pressedColor, focusedColor, normalColor, focusedColor, unableColor, normalColor};
        int[][] states = new int[][]{
   {
   16842919, 16842910}, {
   16842910, 16842908}, {
   16842910}, {
   16842908}, {
   16842909}, new int[0]};
        return new ColorStateList(states, colors);
    }

    public static ColorStateList toColorStateList(@ColorInt int normalColor, @ColorInt int pressedColor) {
   
        return toColorStateList(normalColor, pressedColor, pressedColor, normalColor);
    }
}

使用方式·Json的处理

  Gson gson = new Gson();
            String json = ConvertUtils.toString(HomeActivity.this.getAssets().open("room.json"));
            RoomBean RoomBeanData = gson.fromJson(json, new TypeToken<RoomBean>() {
   
            }.getType());

room.json 的展示

{
   
  "data": {
   
    "EventInfo": [
      {
   
        "HeadPortrait": 0,
        "RoomName": "实验室32号楼二楼腰椎穿刺实训中心201",
        "State": "已完成",
        "StateNumber": 0,
        "StudentNumber": "10人",
        "SubjectContent": "(1)腰椎穿刺模型模拟实训讲座",
        "TeacherName": "李子豪",
        "Time": "12:00 - 13:00"
      },
      {
   
        "HeadPortrait": 1,
        "RoomName": "实验室12号楼实训中心212",
        "State": "进行中",
        "StateNumber": 1,
        "StudentNumber": "20人",
        "SubjectContent": "(2)心肺复苏考试",
        "TeacherName": "杨森",
        "Time": "12:10 - 13:30"
      },
      {
   
        "HeadPortrait": 2,
        "RoomName": "实验室31号楼手臂缝合实训中心501",
        "State": "等待",
        "StateNumber": 2,
        "StudentNumber": "21人",
        "SubjectContent": "(3)手臂缝合实训讲座",
        "TeacherName": "XXX",
        "Time": "14:00 - 15:00"
      },
      {
   
        "HeadPortrait": 3,
        "RoomName": "实验室31号楼手臂缝合实训中心501",
        "State": "等待",
        "StateNumber": 2,
        "StudentNumber": "21人",
        "SubjectContent": "(3)手臂缝合实训讲座",
        "TeacherName": "陶华碧",
        "Time": "14:00 - 15:00"
      },
      {
   
        "HeadPortrait": 4,
        "RoomName": "实验室11号楼301",
        "State": "等待",
        "StateNumber": 2,
        "StudentNumber": "33人",
        "SubjectContent": "(4)内科手术实训讲座",
        "TeacherName": "杨国富",
        "Time": "12:30 - 14:00"
      },
      {
   
        "HeadPortrait": 5,
        "RoomName": "实验室1号楼311",
        "State": "进行中",
        "StateNumber": 1,
        "StudentNumber": "30人",
        "SubjectContent": "(4)内科手术实训讲座",
        "TeacherName": "张科",
        "Time": "13:30 - 14:30"
      },
      {
   
        "HeadPortrait": 6,
        "RoomName": "实验室6号楼204",
        "State": "等待",
        "StateNumber": 2,
        "StudentNumber": "10人",
        "SubjectContent": "(4)内科手术实训讲座",
        "TeacherName": "袁华",
        "Time": "13:30 - 14:30"
      },
      {
   
        "HeadPortrait": 6,
        "RoomName": "实验室6号楼204",
        "State": "等待",
        "StateNumber": 2,
        "StudentNumber": "10人",
        "SubjectContent": "(4)内科手术实训讲座",
        "TeacherName": "袁华",
        "Time": "13:30 - 14:30"
      }
    ]
  }
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2829.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • windows窗体线程异常_指针在声明和使用时有何不同

    windows窗体线程异常_指针在声明和使用时有何不同在多线程设计中,许多人为了省事,会将对话框类或其它类的指针传给工作线程,而在工作线程中调用该类的成员函数或成员变量等等。但是在Debug版本时,在某些情况下,特别是在工作线程中调用pWnd->UpdateData(FALSE)时,会出现错误。这个错误的原因网上有许多地方讲

    2025年9月19日
    5
  • 徐 氏 介 绍_徐氏的起源

    徐 氏 介 绍_徐氏的起源一、姓氏源流徐氏的姓氏来源比较纯正,主要出自嬴姓。是先帝玄孙伯益之子若木的后裔。相传陷帝有一个孙女叫女修,因食燕子蛋而怀有大业。大业娶少典氏女子女华为妻,生下了皋陶,皋陶生三子(另一说是六子)长子伯益,又叫…

    2022年9月6日
    5
  • java 排序队列_java实现顺序队列

    java 排序队列_java实现顺序队列packagequeue;importjava.util.Scanner;publicclassArrayQueueLoop{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub//测试代码//测试数组循化队列CircleQueuetestQueue=newCircleQueue(4);//设置的是有效…

    2022年7月16日
    17
  • numba 高级用法

    numba 高级用法numba是一个用于编译Python数组和数值计算函数的编译器,这个编译器能够大幅提高直接使用Python编写的函数的运算速度。numba使用LLVM编译器架构将纯Python代码生成优化过的机器码,通过一些添加简单的注解,将面向数组和使用大量数学的python代码优化到与c,c++和Fortran类似的性能,而无需改变Python的解释器。Numba的主要特性:动态代码生成(…

    2025年7月13日
    3
  • SDRAM控制器设计(数字控制器的两种设计方法)

    FPGA之SDRAM控制器设计(二):刷新这次要来解决上次留下来的刷新问题,在100us后首先要经过两次刷新才进行模式寄存器设置。这颗SDRAM芯片需要每隔64ms对8192行(列地址10-位,行地址13位)的每一个存储电容进行一次刷新,因为不刷新电充会泄露电流导致存储信息丢失。那每一行的刷新时间为64/8192≈7810ns,注意刷新是以行为单位,器芯片内部有一个计数器,这个计数器不是时钟直接驱动的,而是AUTOPRECHARGE驱动,每发一次atuoprecharge命令这个计数器加1,我们是

    2022年4月13日
    34
  • 基于 mysql时序_时序数据库简介

    基于 mysql时序_时序数据库简介时间序列数据库简称时序数据库(TimeSeriesDatabase),用于处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。时序数据的几个特点1.基本上都是插入,没有更新的需求。2.数据基本上都有时间属性,随着时间的推移不断产生新的数据。3.数据量大,每秒钟需要写入成千万上亿条数据业务方常见需求1.获取最新状态,查询最近的数据(例如传感器最新…

    2022年10月4日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号