You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "iduanyingjie (Jira)" <ji...@apache.org> on 2019/09/05 07:33:00 UTC

[jira] [Updated] (SPARK-28986) from_json cannot handle data with the same name but different case in the json string.

     [ https://issues.apache.org/jira/browse/SPARK-28986?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

iduanyingjie updated SPARK-28986:
---------------------------------
    Description: 
{code:java}
import org.apache.spark.sql.SparkSession
object JsonCaseInsensitive {  
  case class User(id: String, fields: String)
  val users = Seq(User("1", "{\"a\": \"b\"}"), User("2", "{\"A\": \"B\"}"))
  def main(args: Array[String]): Unit = {
    val spark = SparkSession.builder().master("local").appName("JsonCaseInsensitive").getOrCreate()
    import spark.implicits._
    spark.createDataset(users)
         .selectExpr("id", "from_json(fields, 'a String')")
         .show()
  }
}


{code}
 
{code:java}
+---+---------------------+
| id|jsontostructs(fields)|
+---+---------------------+
|  1|                  [b]|
|  2|                   []|
+---+---------------------+
{code}

  was:
{code:java}
import org.apache.spark.sql.SparkSession
object JsonCaseInsensitive {  
  case class User(id: String, fields: String)
  val users = Seq(User("1", "{\"a\": \"b\"}"), User("2", "{\"A\": \"B\"}"))
  def main(args: Array[String]): Unit = {
    val spark = SparkSession.builder().master("local").appName("JsonCaseInsensitive").getOrCreate()
    import spark.implicits._
    spark.createDataset(users)
         .selectExpr("id", "from_json(fields, 'a String')")
         .show()
  }}


{code}
 


> from_json cannot handle data with the same name but different case in the json string.
> --------------------------------------------------------------------------------------
>
>                 Key: SPARK-28986
>                 URL: https://issues.apache.org/jira/browse/SPARK-28986
>             Project: Spark
>          Issue Type: New Feature
>          Components: SQL
>    Affects Versions: 2.4.4
>            Reporter: iduanyingjie
>            Priority: Major
>
> {code:java}
> import org.apache.spark.sql.SparkSession
> object JsonCaseInsensitive {  
>   case class User(id: String, fields: String)
>   val users = Seq(User("1", "{\"a\": \"b\"}"), User("2", "{\"A\": \"B\"}"))
>   def main(args: Array[String]): Unit = {
>     val spark = SparkSession.builder().master("local").appName("JsonCaseInsensitive").getOrCreate()
>     import spark.implicits._
>     spark.createDataset(users)
>          .selectExpr("id", "from_json(fields, 'a String')")
>          .show()
>   }
> }
> {code}
>  
> {code:java}
> +---+---------------------+
> | id|jsontostructs(fields)|
> +---+---------------------+
> |  1|                  [b]|
> |  2|                   []|
> +---+---------------------+
> {code}



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org