Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jan 30 2019 12:25
    justdoit0823 starred json4s/json4s
  • Jan 30 2019 11:05
    ericxsun commented #212
  • Jan 26 2019 13:29

    seratch on v3.6.4

    (compare)

  • Jan 26 2019 13:28

    seratch on 3.6

    version 3.6.4 Start 3.6.5 dev (compare)

  • Jan 26 2019 12:53

    seratch on 3.6

    Reduced OrElse objects allocati… Merge branch '3.6' into pr-580-… Merge branch '3.6' into pr-580-… and 1 more (compare)

  • Jan 26 2019 12:53
    seratch closed #582
  • Jan 26 2019 12:39
    seratch synchronize #582
  • Jan 26 2019 12:39

    seratch on 3.6

    fix Type alias for parameterize… Merge branch '3.6' into pr-577-… Merge pull request #581 from se… (compare)

  • Jan 26 2019 12:39
    seratch closed #581
  • Jan 26 2019 12:38
    seratch synchronize #582
  • Jan 26 2019 12:38
    seratch opened #582
  • Jan 26 2019 12:30
    seratch synchronize #581
  • Jan 26 2019 12:30

    seratch on 3.6

    Add 3.6.3 to previous versions … (compare)

  • Jan 26 2019 12:25

    seratch on master

    Reduced OrElse objects allocati… (compare)

  • Jan 26 2019 12:25
    seratch closed #580
  • Jan 26 2019 12:25
    seratch closed #579
  • Jan 26 2019 12:25
    seratch commented #580
  • Jan 26 2019 11:03
    poslegm commented #580
  • Jan 26 2019 10:56
    poslegm synchronize #580
  • Jan 26 2019 10:32
    seratch commented #580
Stefan Ollinger
@dozed
The fundamental difference is that with Formats the typeclass instances are stored in a list, whereas a standard typeclass approach would declare only dependencies via implicit parameters
Sam Smoot
@sam
I’ll need to figure something out in the next few days for my few cases of Every. I’ll let you know if anything comes of it. Or if I just have to fall-back to a factory method for different variations of def factory[A]() = new CustomerSerializer[Every[A]](…).
Stefan Ollinger
@dozed
And I am working currently here https://github.com/dozed/json4s-drafts/
Here is for example a JSONW/JSONR instance for NonEmptyList (which is similar to Every): https://github.com/dozed/json4s-drafts/blob/master/src/test/scala/TupleMaps1.scala#L19
Stefan Ollinger
@dozed
@sam The typeclasses are basically functions: A => JValue and JValue => Result[A]
Where Result[A] has two possible cases, Success(a) and Failure(errors)
eugene yokota
@eed3si9n
hi
Sam Smoot
@sam
howdy
eugene yokota
@eed3si9n
is there a functional sjson style serializer for json4s that doesn't use reflection?
sort of like sprayjson4s?
Sam Smoot
@sam
Heh. I think we were just talking about that.
Stefan Ollinger
@dozed
Hey
What is sjson style?
Sam Smoot
@sam
(typeclasses?)
eugene yokota
@eed3si9n
Stefan Ollinger
@dozed
Ah right, they have reflection and typeclasses
Sam Smoot
@sam
package services.json.formats

import services.schema.User
import User.Account
import services.schema.User
import spray.json._

object AccountFormat extends RootJsonFormat[Account] {

  import DefaultJsonProtocol._

  implicit val dateTimeFormat = DateTimeFormat

  val format = jsonFormat5(Account.apply)

  def read(value: JsValue) = format.read(value)

  def write(account: Account) = format.write(account)
}
Stefan Ollinger
@dozed
@eed3si9n There are the JSONW[A], JSONR[A] typeclasses in https://github.com/json4s/json4s/tree/3.4/scalaz
Sam Smoot
@sam
I don’t think I’ve seen spray-json use reflection. But I could’ve just missed it.
Stefan Ollinger
@dozed
I am currently working on it a bit here https://github.com/dozed/json4s-drafts
Sam Smoot
@sam
Oh… well, duh. I guess the jsonFormatN helpers must be reflection based.
Stefan Ollinger
@dozed
@sam I referred to sjson
They had two modes
Sam Smoot
@sam
Ah. I read ‘spray’ and confused myself. Nevermind me. :)
eugene yokota
@eed3si9n
yea. I should've been more clear
so it doesn't exist yet, but you guys are thinking about it?
Stefan Ollinger
@dozed
It exists, officially in form of https://github.com/json4s/json4s/tree/3.4/scalaz, but it needs some polishing
eugene yokota
@eed3si9n
i see, but I am guessing that it pulls in Scalaz as dependency
anyfoo. thanks for the info!
Stefan Ollinger
@dozed
Yep, the scalaz dependency might be a problem (dependency size, conflicts)
Sam Smoot
@sam
Pretty sure I just spotted a bug while browsing the code trying to point out why using json4s-native 3.3.x was an issue for another project: https://github.com/json4s/json4s/pull/339/files#r60582054
The fix is pretty trivial. I included code in my comment for it. Just didn’t feel like setting everything up, writing a failing spec and producing a PR. ;) Doesn’t impact me since I wouldn’t use the alwaysEncodeUnicode option anyways. But if you do, I’m fairly confident the invalid-json-control-character bug is still present in that case.
Simon Hafner
@reactormonk
What's the name of the decoder typeclass I need to provide?
Spencer Wood
@malibuworkcrew
Hey json4s crew, love the library! Do you happen to have a planned release schedule for 3.4? We'd love to get the mutable parser feature.
Kazuhiro Sera
@seratch
@malibuworkcrew Indeed, it's about time to release 3.4. I'll work on it. Maybe this month.
Spencer Wood
@malibuworkcrew
Thanks Kaz! Looking forward to it
Sam Smoot
@sam
Hi, I’m wondering how to remove an item from a JArray by ordinal? ie: Extraction.decompose(List(“one”, “two”, “three”)).remove(1) == JArray(List(JString(“one”), JString(“three”)))
Sam Smoot
@sam
Figured it out:
photoDocument transformField {
   case ("comments", JArray(comments)) =>
     val (start, _ :: end) = comments.splitAt(1)
    ("comments", start ::: end)
}
Milan van der Meer
@milanvdm
Is it possible to parse a Json string to an object based on the value of one field?
Let's say you have 2 possible kinds of Json strings and depending on one field value it is one of the two kinds?
(I can of course use an if test but just curious if there is a nicer way)
Kazuhiro Sera
@seratch
Arnaud Gourlay
@agourlay
Great, thank you for the hard work :+1:
Where can I find the release notes for 3.4?
Oleg Yarin
@monapasan
Hey Guys,
i am trying to use json4s. Haven't found any information about it:
Is it possible to escape/unescape a string with help of json4s ?
Oleg Yarin
@monapasan
anyone ?
Stefan Ollinger
@dozed
@monapasan Can you give an example what you are trying to do?
@seratch Thanks for releasing 3.4
Tal
@talgendler
Hi, I created a pull request to support new MongoDB Java Async driver, since they introduced some new types it's not possible to use the current mongodb support. If you have any remarks, suggestions or anything I can do to make it better, please let me know