Comments (9)
I'm guessing that forcing the entire output of jo
through echo -e
mangled your data somehow, so I'll just note that this:
VOD_SUBs=$(echo -e "event[subtitles]=")$(jo -an "$(jo -n url=../"$VOD_SUB")")
is an unnecessary use of echo
, and should be equivalent to this:
VOD_SUBs=event[subtitles]="$(jo -an "$(jo -n url=../"$VOD_SUB")")"
from jo.
Seems to work fine for me:
$ jo -p -n -- -s id=1609290944590500000 name=Laputa pin=false 'categories=["Drama"]' type=movie seasonNumber= episodeNumber= 'meta[name]=Laputa' 'meta[description]=Sedmadvacetiletá Johanka tráví veškerý čas ve své kavárně Laputa. Má tolik možností, jak prožít svůj život. Přesto jí tato svoboda přináší pocit úzkosti a osamocení. Laputa je ostrov sám pro sebe. Johanka na něm trčí a neví, co se sebou dál...Kavárna Laputa je pro ostatní místem, kam přicházejí a zase odcházejí. Vydávají se žít své životy. Johančina sestra odjíždí s básníkem Mikim do Turecka. Felix, Johančina dávná láska se tu jen zastaví a zas odlétÀ na cesty. Merlot je štamgast, Johanku má rád a spává s ní. Jenže kromě ní taky s dalším milionem holek. Marnost na Johanku vykukuje z každého půllitru. Jako by se v její kavárně, kterou vybudovala, scházeli lidé, kteří umějí žít naplno. Každý s nějakým nápadem, potřebou nebo svým sobectvím. Johanka je všech a se všemi, a přece je sama a v nejistotě. Co si má počít v děsivě velkém prostoru dospělého života? Stačí jí její ostrov? Stačí si ona sama k pocitu úplnosti? Ke štěstí?' 'meta[adult]=false' 'meta[alternativeName]=[{"name":"Laputa"}]' 'meta[links]={"csfd":{"dbId":"film/388532","link":"https://www.csfd.cz/film/388532-laputa/prehled/"}}' 'meta[posterUrl]=1609290944590500000_poster.jpg' 'meta[backdropUrl]=1609290944590500000_preview.jpg' 'event[url]=../Laputa_cze_SD_ID_1609290944590500000.mpg' 'event[audioTracks]=[]' 'event[type]=video' 'event[hd]=true' 'event[subtitles]=' 'subscriptions=[{"code":"filmy","from":"2022-06-13T00:00:00+02:00","to":"2022-12-31T23:59:59+02:00"}]'
{
"id": "1609290944590500000",
"name": "Laputa",
"pin": false,
"categories": [
"Drama"
],
"type": "movie",
"meta": {
"name": "Laputa",
"description": "Sedmadvacetiletá Johanka tráví veškerý čas ve své kavárně Laputa. Má tolik možností, jak prožít svůj život. Přesto jí tato svoboda přináší pocit úzkosti a osamocení. Laputa je ostrov sám pro sebe. Johanka na něm trčí a neví, co se sebou dál...Kavárna Laputa je pro ostatní místem, kam přicházejí a zase odcházejí. Vydávají se žít své životy. Johančina sestra odjíždí s básníkem Mikim do Turecka. Felix, Johančina dávná láska se tu jen zastaví a zas odlétÀ na cesty. Merlot je štamgast, Johanku má rád a spává s ní. Jenže kromě ní taky s dalším milionem holek. Marnost na Johanku vykukuje z každého půllitru. Jako by se v její kavárně, kterou vybudovala, scházeli lidé, kteří umějí žít naplno. Každý s nějakým nápadem, potřebou nebo svým sobectvím. Johanka je všech a se všemi, a přece je sama a v nejistotě. Co si má počít v děsivě velkém prostoru dospělého života? Stačí jí její ostrov? Stačí si ona sama k pocitu úplnosti? Ke štěstí?",
"adult": false,
"alternativeName": [
{
"name": "Laputa"
}
],
"links": {
"csfd": {
"dbId": "film/388532",
"link": "https://www.csfd.cz/film/388532-laputa/prehled/"
}
},
"posterUrl": "1609290944590500000_poster.jpg",
"backdropUrl": "1609290944590500000_preview.jpg"
},
"event": {
"url": "../Laputa_cze_SD_ID_1609290944590500000.mpg",
"audioTracks": [],
"type": "video",
"hd": true
},
"subscriptions": [
{
"code": "filmy",
"from": "2022-06-13T00:00:00+02:00",
"to": "2022-12-31T23:59:59+02:00"
}
]
}
What's the output of jo -v
?
from jo.
jo 1.6
from jo.
This is my debug output from bash -x ..
+ jo -p -n -- -s id=1609290944590500000 name=Laputa pin=false 'categories=["Drama"]' type=movie seasonNumber= episodeNumber= 'meta[name]=Laputa' 'meta[description]=Sedmadvacetiletá Johanka tráví veškerý čas ve své kavárně Laputa. Má tolik možností, jak prožít svůj život. Přesto jí tato svobo
da přináší pocit úzkosti a osamocení. Laputa je ostrov sám pro sebe. Johanka na něm trčí a neví, co se sebou dál...Kavárna Laputa je pro ostatní místem, kam přicházejí a zase odcházejí. Vydávají se žít své životy. Johančina sestra odjíždí s básníkem Mikim do Turecka. Felix, Johančina dávná l
áska se tu jen zastaví a zas odlétð na cesty. Merlot je štamgast, Johanku má rád a spává s ní. Jenže kromě ní taky s dalším milionem holek. Marnost na Johanku vykukuje z každého půllitru. Jako by se v její kavárně, kterou vybudovala, scházeli lidé, kteří umějí žít naplno. Každý s nějakým náp
adem, potřebou nebo svým sobectvím. Johanka je všech a se všemi, a přece je sama a v nejistotě. Co si má počít v děsivě velkém prostoru dospělého života? Stačí jí její ostrov? Stačí si ona sama k pocitu úplnosti? Ke štěstí?' 'meta[adult]=false' 'meta[alternativeName]=[{"name":"Laputa"}]' 'me
ta[links]={"csfd":{"dbId":"film/388532","link":"https://www.csfd.cz/film/388532-laputa/prehled/"}}' 'meta[posterUrl]=http://xml.starmax.tv/images/900x1350/1609290944590500000_poster.jpg' 'meta[backdropUrl]=http://xml.starmax.tv/images/1920x1080/1609290944590500000_preview.jpg' 'event[url]=..
/Laputa_cze_SD_ID_1609290944590500000.mpg' 'event[audioTracks]=[]' 'event[type]=video' 'event[hd]=true' 'event[subtitles]=' 'subscriptions=[{"code":"filmy","from":"2022-06-13T00:00:00+02:00","to":"2022-12-31T23:59:59+02:00"}]'
jo: json.c:1209: emit_string: Assertion `utf8_validate(str)' failed.
/opt/vod-handler/./vod-utils.sh: line 184: 1382806 Aborted jo -p -n -- -s id=$vod_id name="$vod_title" pin="$vod_adult" categories=$(jo -na $vod_categories) type=$vod_type seasonNumber=$vod_seasonNumber episodeNumber=$vod_episodeNumber meta[name]="$vod_title" meta[description
]="$vod_description" $meta_director $meta_actor meta[adult]=$vod_adult meta[alternativeName]="$(jo -a "$(jo -p name="$vod_title_original")")" $meta_links meta[posterUrl]=$vod_IMG_poster meta[backdropUrl]=$vod_IMG_backdrop event[url]=../"$VOD_NAME" event[audioTracks]=$(jo -na "$VOD_AUDIO_TRAC
KS") event[type]=video event[hd]=true "$VOD_SUBs" "$subs_trans" > "$BASIC_JSON"
from jo.
What's the output of env | grep -E '^LC_|LANG'
?
from jo.
I think language isn't main issue, because this jo
command I'm using for another JSONs from Czech language.
LANGUAGE=en_US:en
LANG=en_US.UTF-8
It's strange, on my testing script it's working without any issue too.
And this is source XML data:
<movie id="1609290944590500000">
<type>movie</type>
<seasonNumber></seasonNumber>
<episodeNumber></episodeNumber>
<title>Laputa</title>
<title_original>Laputa</title_original>
<description>Sedmadvacetiletá Johanka tráví veškerý čas ve své kavárně Laputa. Má tolik možností, jak prožít svůj život. Přesto jí tato svoboda přináší pocit úzkosti a osamocení. Laputa je ostrov sám pro sebe. Johanka na něm trčí a neví, co se sebou dál...Kavárna Laputa je pro ostatní místem, kam přicházejí a zase odcházejí. Vydávají se žít své životy. Johančina sestra odjíždí s básníkem Mikim do Turecka. Felix, Johančina dávná láska se tu jen zastaví a zas odlétá na cesty. Merlot je štamgast, Johanku má rád a spává s ní. Jenže kromě ní taky s dalším milionem holek. Marnost na Johanku vykukuje z každého půllitru. Jako by se v její kavárně, kterou vybudovala, scházeli lidé, kteří umějí žít naplno. Každý s nějakým nápadem, potřebou nebo svým sobectvím. Johanka je všech a se všemi, a přece je sama a v nejistotě. Co si má počít v děsivě velkém prostoru dospělého života? Stačí jí její ostrov? Stačí si ona sama k pocitu úplnosti? Ke štěstí?</description>
<provider>Starmax Media</provider>
<director>Jakub Šmíd</director>
<actors>Tereza Ramba, Igor Orozovič, Petr Stach, Luboš Veselý, Pavel Gajdoš, Jakub Gottwald, Alena Bazalová, Denisa Barešová, Oldřich Hajlich, Marika Šoposká, Ivana Chýlková, Klára Melíšková</actors>
<accessibility>1</accessibility>
<category>Drama</category>
<csfd>https://www.csfd.cz/film/388532-laputa/prehled/</csfd>
<prices>
<price type="rent" currency="CZK">49</price>
</prices>
<images>
<image type="poster" width="900" height="1350">1609290944590500000_poster.jpg</image>
<image type="screen" width="1920" height="1080">1609290944590500000_preview.jpg</image>
</images>
<publish>
<CZ/>
<from>2022-06-13</from>
<to>2022-12-31</to>
</publish>
<featured>0</featured>
<hotpicks>0</hotpicks>
<whatsnew>0</whatsnew>
</movie>
I don't see any problem there :-/
from jo.
What happens if you copy and paste the exact command line from this issue page, like what I did above to test on my machine? It might be that whatever you have in your script now is not valid UTF-8, but when you pasted it in while creating your issue, your browser cleaned it up.
from jo.
Ooooh.. I found the problem..
I had this in my script:
VOD_SUBs=$(echo -e "event[subtitles]=$(jo -an "$(jo -n url=../"$VOD_SUB")")")
and I've changed it to this:
VOD_SUBs=$(echo -e "event[subtitles]=")$(jo -an "$(jo -n url=../"$VOD_SUB")")
which works ... finally .. sorry Adrian for reporting not specific problem for jo
:-(
Thank you for your help <3
from jo.
Closing as answered
from jo.
Related Issues (20)
- RFE: Do not split quoted keys with -d HOT 2
- Gaps in variable HOT 2
- Delete nested element HOT 5
- Generating JSON and including JSON output from another program appears to result in double encoded JSON? HOT 3
- Suberflous `\` if try to escape `}` in value HOT 8
- feature allow string vals with spaces deep nested HOT 1
- Question: how to produce multiline strings? HOT 2
- UTF-8 crash - `Assertion failed: (utf8_validate(str))` HOT 5
- Passing an empty file with `@` syntax now throws an error on 1.7 HOT 5
- FAIL: tests/jo.test 20 - read json array elements HOT 7
- 1.9 build for Windows missing HOT 1
- jo will drop the trailing newline at the end of file HOT 8
- Dynamic array of nested oneofs HOT 1
- Disable type coercion HOT 6
- possible bug: use of `-a` on outer command in nested jo fails to render inside object element when space exists in internal object property value HOT 2
- Modifications to GPLv2 license make jo difficult to adopt in enterprise environment HOT 2
- Please support empty array HOT 1
- pass multiple variables to jo? HOT 3
- jo extends fractional part of some floats HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jo.