小编Dmi*_*tov的帖子

如何 json.stringify() 一个字符串

我有一个复杂的对象,它作为字符串存储在文本文件中

这是我从文本文件中读取的数据

 [
 {
    name: "V",
    number: 20,
    coords: {
        "cn": { 
            points: [
                [23,32,32],
                [32,32,32]
            ], 
            B: "VC", 
            label: "ds"
        }
    }
}]
Run Code Online (Sandbox Code Playgroud)

我想将其转换为 JSON 字符串

注意:-我无法使用 eval 函数我已经尝试过这个 JSON.stringify 但我得到了这个输出:-

"   [\r\n     {\r\n        name: \"V\",\r\n        number: 20,\r\n        coords: {\r\n            \"cn\": { \r\n                points: [\r\n                    [23,32,32],\r\n                    [32,32,32]\r\n                ], \r\n                B: \"VC\", \r\n                label: \"ds\"\r\n            }\r\n        }\r\n    }]"
Run Code Online (Sandbox Code Playgroud)

javascript json

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

箭头函数和内存泄漏

假设我为巨大数组的每个元素创建了一个箭头函数

someHugeArray.forEach(record => {
  const someValues = [...getAnotherHugeArray()]
  const sum = _.sumBy(someValues, 'total')

  record.getPrice = () => sum / record.quantity
})
Run Code Online (Sandbox Code Playgroud)

这只是一个例子......所以在getPrice创建的环境中,我们有一个巨大的数组someValues,我们使用它,但实际上getPrice我们不再需要它,因为我们获得了所需的值并将其保存到sum.

用代码破坏它的价值有用吗

someValues = null
Run Code Online (Sandbox Code Playgroud)

或者 javascript 引擎足够聪明,不会将函数的词法环境的值保留在内存中,它不使用它?

javascript arrow-functions

5
推荐指数
1
解决办法
796
查看次数

T 和 List[T] 的类型参数边界

我有一个带有 2 个类型参数的案例类

case class Relation[T <: Model, RT] (model: T) 
Run Code Online (Sandbox Code Playgroud)

类型 T 显然是一种类属性“模型”。类型 RT 可以与 T 相同,也可以是 List[T](取决于我们创建 OneToOne 或 OneToMany 的关系类型)。那么我如何限制 RT,它不允许传递除 T 或 List[T] 之外的其他内容。

PS 我正在阅读有关covariancecontravariance 的内容,但不太了解。它适用于我的情况吗?如果是,请您举例说明。如果没有 - 那么请展示其他工具来达到它。我什至无法理解 T 和 List[T] 是如何相互关联的?T <: List[T] 或 List[T] <: T?

提前致谢

scala covariance union-types

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

Scala:为什么类型转换隐式破坏代码

我有一个简单的代码

private def convertFieldsNames (fieldsNames: Array[String]): Array[String] =
  fieldsNames.map(convertFieldName)

private def convertFieldName (fieldName: String): String = s"!!! $fieldName"

val res = convertFieldsNames(Array("123", "456"))
res.map(println)
Run Code Online (Sandbox Code Playgroud)

它工作正常,但是当我添加类型转换功能时,我将在其他功能中使用

implicit def fromStringToEitherStringOrArray (str: String): Either[String, Array[String]] = Left(str)
implicit def fromArrayToEitherStringOrArray (arr: Array[String]): Either[String, Array[String]] = Right(arr)
Run Code Online (Sandbox Code Playgroud)

我一行出现错误

fieldsNames.map(convertFieldName)

type mismatch;
 found   : String => String
 required: Array[String] => ?
Run Code Online (Sandbox Code Playgroud)

我希望这些转换仅在需要转换为Either值时才会生效,所以我无法理解为什么此错误在根本没有Either类型的行中冒出

scala implicit implicit-conversion

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

来自类型参数的 WeakTypeOf

我有一个带有函数的简单代码,它获取weakTypeOf case 类并返回其字段,可以预见我们得到2 个项目列表

def getMembers[T: WeakTypeTag] = 
  weakTypeOf[T].members.filterNot(_.isMethod).toList

final case class Person(name: String, age: Int) extends Models

val fields = getMembers[Person]
println(fields.length) // 2
Run Code Online (Sandbox Code Playgroud)

它工作正常

但是,如果我想在创建子对象类时从将 Person 作为类型参数传递的 trait 中获取成员呢?(WeakTypeTag 在构建过程中无法传递给 trait)

trait ModelManager[CCT] {
  def getMembers: List[String] = ???
}

case object PersonManager extends ModelManager[Person] 

val fields = PersonManager.getMembers
println(fields.length)
Run Code Online (Sandbox Code Playgroud)

有没有办法从 CCT 参数中获取 weakTypeOf ?

scala implicit scala-reflect

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

获取请求后 $_POST 变量为空

在反应中我写

useEffect(() => {
    fetch("https://ozencalc.ru", {
      method: "POST",
      headers: {
        'Accept': 'application/json',
        "Content-Type": "application/json"
      },
      body: JSON.stringify({
        action: "operations-update"
      })
    })
      .then((res) => {
        return res.json();
      })
      .then((res) => alert(res));
  }, []);
Run Code Online (Sandbox Code Playgroud)

所以我将一个对象作为主体发送,并期望在我编写的 php 服务器上读取它

echo json_encode($_POST);
Run Code Online (Sandbox Code Playgroud)

但我得到一个空数组而不是带有键“action”的对象

php 服务器变量 $_POST 不包含值的原因是什么

[
  "action" => "operations-update"
]
Run Code Online (Sandbox Code Playgroud)

可能是一些托管服务器问题或者我误解了 php 的工作原理?

php

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