小编Fac*_*ree的帖子

如何在Javascript中转换JSON字节

我继承了一个很大的基于Java的服务器端代码库,该代码库使用JSON与客户端进行通信。由于多种原因,基于杰克逊的JSON转换必须使用二进制形式-换句话说,我在服务器端生成的JSON由字节而不是字符组成。

对于以前的客户端,这不是问题,因为它们都是基于Java的。我可以使用Jackson库将二进制文件转换回对象。不幸的是,有人要求我创建一些基于浏览器的客户端,这些客户端需要使用Javascript才能接收和显示JSON信息。

我正在尝试使用JQuery的JSON转换函数,但事实证明JQuery和常规Javascript函数都无法将一组JSON字节转换回对象。我需要将字节转换回字符,以便将它们转换回对象。

我了解到,为了将字节转换为字符,我必须将字节转换为字节数组。这就是我遇到的问题。

我一直在尝试使用各种方法将二进制JSON信息转换回可以使用JSON转换功能转换为有意义的对象的形式(字节数组)。我尝试使用ArrayBuffer将数据转换为字节缓冲区,然后使用int8Array()函数创建字节数组:

var buffer = new ArrayBuffer(obj.payload.length);
var bits =  new Int8Array(buffer);
Run Code Online (Sandbox Code Playgroud)

我还尝试使用uint8Array(),并尝试了Internet(以及此处的Stack Overflow)中找到的各种其他转换例程,以创建可以转换为有意义的字符的数组。我的所有尝试要么在运行时导致了错误和故障,要么生成了破坏JSON转换器的垃圾。

是否可以通过某种方式使Javascript读取Jackson生成的一组字节,以便可以使用JSON转换器将其转换回对象?还是Javascript仅能够转换JSON字符串?

有人请指教...

javascript java json

2
推荐指数
1
解决办法
4779
查看次数

如何将时间DateTime设置为特定的日期和时间?

我需要创建一个chrono::DateTime<Local>设置为特定日期和时间的实例。例如,我需要创建一个DateTime<Local>实例,该实例的设置为下午4:43的3/17/2019(或3:17/2019的16:43)。

DateTime结构的文档显示了如何通过该now函数获取当前日期和时间,以及大量的支持以获取持续时间。似乎有一些令人困惑的特征和转换函数,但是似乎没有什么可以让我直接创建一个DateTime代表特定日期和时间的实例。

是否可以创建这样的实例?如果是这样,怎么办?

datetime rust rust-chrono

2
推荐指数
1
解决办法
246
查看次数

Angular 8 的 Angular Material 版本

我正在开发一个使用 Angular v 8.2.14 的项目,并希望使用 Angular Material 提供的控件。

我曾尝试使用 Angular Material,但 ng 安装的 Angular Material 的默认版本是版本 9,我看到它显然无法与 Angular 8 一起编译。

什么版本的 Angular Material 适用于 Angular 8?

npm typescript angular

2
推荐指数
1
解决办法
4233
查看次数

Linux库有哪些包?

我想在CentOS 7上安装一个需要几个库的应用程序:

libcryptopp.so.6
libdns_sd.so.1
libstdc++.so.6
libstdc++.so.6
Run Code Online (Sandbox Code Playgroud)

我在哪里可以获得这些库?有没有包含它们的yum回购?他们是标准的吗?如果是这样,我安装什么软件包来获取这些库?

有人请指教.

linux rpm yum shared-libraries

0
推荐指数
1
解决办法
118
查看次数

尝试在Rust程序中使用&self

我有一个名为info.rs的文件,其中包含一个旨在表示一些基本文件信息的小型测试结构。以下代码是使用结构的学习代码:

pub struct FileInfo {
    name: String,
    path: String,
}

impl FileInfo {
    pub fn new(aname: String,apath: String) {
        FileInfo {
            name: aname,
            path: apath
        }
    }

    pub fn get_name(&self) {
       self.name
    }

    pub fn get_path(&self) -> String {
        self.path
    }
}
Run Code Online (Sandbox Code Playgroud)

根据文档(以及几个示例!),以上函数中使用的&self参数引用调用结构,在本例中为FileInfo结构。目的是允许我的main.rs代码访问名称和路径:

mod info;

use info::FileInfo;

fn main() {
    println!("Listing files in current directory.");

    let fdat = FileInfo::new(String::from("File.txt".),String::from("./File.txt"));

    println!("Name: {}",fdat.get_name());
    println!("Path: {}",fdat.get_path());
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,编译失败并显示以下消息:

error[E0507]: cannot move out of borrowed content
  --> src\info.rs:79:9
   |
79 |         self.name
   |         ^^^^^^^^^ …
Run Code Online (Sandbox Code Playgroud)

rust

0
推荐指数
1
解决办法
103
查看次数